diff --git a/framework/core/src/Extension/Extension.php b/framework/core/src/Extension/Extension.php index 521048836..a657c4e95 100644 --- a/framework/core/src/Extension/Extension.php +++ b/framework/core/src/Extension/Extension.php @@ -257,9 +257,9 @@ class Extension implements Arrayable private function getExtenders(): array { - $extenderFile = "{$this->path}/extend.php"; + $extenderFile = $this->getExtenderFile(); - if (! file_exists($extenderFile)) { + if (! $extenderFile) { return []; } @@ -285,6 +285,24 @@ class Extension implements Arrayable ); } + private function getExtenderFile(): ?string + { + $filename = "{$this->path}/extend.php"; + + if (file_exists($filename)) { + return $filename; + } + + // To give extension authors some time to migrate to the new extension + // format, we will also fallback to the old bootstrap.php name. Consider + // this feature deprecated. + $deprecatedFilename = "{$this->path}/bootstrap.php"; + + if (file_exists($deprecatedFilename)) { + return $deprecatedFilename; + } + } + /** * Tests whether the extension has assets. *