Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
| Total | |
0.00% |
0 / 7 |
n/a |
0 / 0 |
CRAP | n/a |
0 / 0 |
||
| 1 | <?php |
| 2 | /** |
| 3 | * When strauss is installed via Composer, this will help load the aliases file. |
| 4 | * |
| 5 | * When `composer install --no-dev` is run, Strauss won't be installed and this file won't exist to load |
| 6 | * `autoload_aliases.php`. This is good – we don't want to load the aliases file in production or we end up |
| 7 | * fixing the namespace collision issue for ourselves but preserving it for other packages. |
| 8 | * |
| 9 | * This file tries to read the project composer.json file to find the target directory. If it can't find it, it |
| 10 | * assumes the default "vendor-prefixed". |
| 11 | * |
| 12 | * @package brianhenryie/strauss |
| 13 | */ |
| 14 | |
| 15 | $autoloadAliasesFilepath = realpath(__DIR__ . '/../../composer/autoload_aliases.php'); |
| 16 | if (file_exists($autoloadAliasesFilepath)) { |
| 17 | $targetDirectoryFromComposerExtra = function () { |
| 18 | $composerJsonFilepath = realpath(__DIR__ . '/../../../composer.json'); |
| 19 | if (file_exists($composerJsonFilepath)) { |
| 20 | $composerJson = json_decode(file_get_contents($composerJsonFilepath), true); |
| 21 | if (isset($composerJson['extra']['strauss']['target_directory']) |
| 22 | && |
| 23 | is_dir(realpath(__DIR__ . '/../../../'.$composerJson['extra']['strauss']['target_directory'])) |
| 24 | ) { |
| 25 | return $composerJson['extra']['strauss']['target_directory']; |
| 26 | } |
| 27 | } |
| 28 | return null; |
| 29 | }; |
| 30 | |
| 31 | $autoloadTargetFilepath = sprintf( |
| 32 | "%s/%s/autoload.php", |
| 33 | getcwd(), |
| 34 | $targetDirectoryFromComposerExtra() ?? "vendor-prefixed" |
| 35 | ); |
| 36 | if ($autoloadTargetFilepath !== realpath(__DIR__ . '/../../autoload.php') && file_exists($autoloadTargetFilepath)) { |
| 37 | require_once $autoloadTargetFilepath; |
| 38 | } |
| 39 | unset($autoloadTargetFilepath); |
| 40 | |
| 41 | require_once $autoloadAliasesFilepath; |
| 42 | } |
| 43 | unset($autoloadAliasesFilepath,); |