luyadev/luya

View on GitHub
core/bin/luya

Summary

Maintainability
Test Coverage
#!/usr/bin/env php
<?php

// loaders array
$loaders = [];
foreach ([getcwd(), __DIR__, ''] as $prefix) {
    $loaders[] = [$prefix];
    $loaders[] = [$prefix, '..'];
    $loaders[] = [$prefix, '..', '..'];
    $loaders[] = [$prefix, '..', '..', '..'];
    $loaders[] = [$prefix, '..', '..', '..', '..'];
}
// find vendor if exists
foreach ($loaders as $file) {
    $path = implode(DIRECTORY_SEPARATOR, $file);
    foreach ([DIRECTORY_SEPARATOR, ''] as $slash) {
        $file = $path . $slash . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php';
        if (file_exists($file)) {
            require_once($file);
            $vendor = pathinfo($file, PATHINFO_DIRNAME);
            break 2;
        }
    }    
}

// https://github.com/luyadev/luya/issues/1799
$configFilePaths = [__DIR__ . '/../../../../configs/env.php', 'configs/env.php'];
foreach ($configFilePaths as $configFile) {
    if (file_exists($configFile)) {
        break;
    }
}
$boot = new \luya\Boot();
$boot->configFile = $configFile;
$boot->setBaseYiiFile($vendor . '/yiisoft/yii2/Yii.php');
$boot->applicationConsole();