Author: Andreas Möller (localheinz) Committer: GitHub (web-flow) Pusher: kamil-tekiela Date: 2022-07-05T12:50:41+01:00
Commit: https://github.com/php/web-php/commit/a83ae2fa325bf63bcdfe3ea97e168ec2226eb101 Raw diff: https://github.com/php/web-php/commit/a83ae2fa325bf63bcdfe3ea97e168ec2226eb101.diff Enhancement: Use PSR-4 autoloader (#604) Changed paths: A autoload.php M bin/createNewsEntry M bin/createReleaseEntry M include/shared-manual.inc Diff: diff --git a/autoload.php b/autoload.php new file mode 100644 index 000000000..5625b6062 --- /dev/null +++ b/autoload.php @@ -0,0 +1,28 @@ +<?php + +/** + * @see https://github.com/php-fig/fig-standards/blob/a1a0674a742c9d07c5dd450209fb33b115ee7b40/accepted/PSR-4-autoloader-examples.md#closure-example + */ +spl_autoload_register(static function (string $class): void { + $prefix = 'phpweb\\'; + $directory = __DIR__ . '/src/'; + + $length = strlen($prefix); + + if (strncmp($prefix, $class, $length) !== 0) { + return; + } + + $relativeClass = substr( + $class, + $length + ); + + $file = $directory . str_replace('\\', '/', $relativeClass) . '.php'; + + if (!file_exists($file)) { + return; + } + + require $file; +}); diff --git a/bin/createNewsEntry b/bin/createNewsEntry index 0f6bdc99b..baae69935 100755 --- a/bin/createNewsEntry +++ b/bin/createNewsEntry @@ -2,7 +2,7 @@ <?php PHP_SAPI == 'cli' or die("Please run this script using the cli sapi"); -require_once __DIR__ . '/../src/News/Entry.php'; +require_once __DIR__ . '/../autoload.php'; use phpweb\News\Entry; diff --git a/bin/createReleaseEntry b/bin/createReleaseEntry index fbd3f9d2c..cd98b83d0 100755 --- a/bin/createReleaseEntry +++ b/bin/createReleaseEntry @@ -2,7 +2,7 @@ <?php PHP_SAPI == 'cli' or die("Please run this script using the cli sapi"); -require_once __DIR__ . '/../src/News/Entry.php'; +require_once __DIR__ . '/../autoload.php'; use phpweb\News\Entry; diff --git a/include/shared-manual.inc b/include/shared-manual.inc index 7d67a2c3e..2b1d935f6 100644 --- a/include/shared-manual.inc +++ b/include/shared-manual.inc @@ -23,7 +23,7 @@ $PGI = array(); $SIDEBAR_DATA = ''; // User note display functions // ============================================================================= -require_once __DIR__ . '/../src/UserNotes/Sorter.php'; +require_once __DIR__ . '/../autoload.php'; use phpweb\UserNotes\Sorter; // Print out all user notes for this manual page -- PHP Webmaster List Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php