/**
  * @param string $alias
  *
  * @return bool
  */
 public function isRegistered($alias)
 {
     $alias = $this->inflectClassName($alias);
     $isRegistered = parent::isRegistered($alias);
     if (!$isRegistered) {
         if (array_key_exists($alias, $this->aliases)) {
             return TRUE;
         }
     }
     return $isRegistered;
 }
Exemple #2
0
use Baleen\Cli\Exception\CliException;
use Baleen\Cli\PluginInterface;
use Baleen\Cli\Provider\ConfigProvider;
use Baleen\Cli\Provider\Services;
use League\Container\Container;
if (!defined('MIGRATIONS_EXECUTABLE')) {
    define('MIGRATIONS_EXECUTABLE', $argv[0]);
}
$container = new Container();
$container->add(Services::BALEEN_BASE_DIR, dirname(__DIR__));
$container->add(Services::AUTOLOADER, $composerAutoloader);
// the only provider that can't be overwritten
$container->addServiceProvider(new ConfigProvider());
/** @var \Baleen\Cli\Config\Config $appConfig */
$appConfig = $container->get(Services::CONFIG);
// Load core providers
foreach ($appConfig->getProviders() as $name => $class) {
    $provider = new $class();
    $container->addServiceProvider($provider);
}
// Load plugins
foreach ($appConfig->getPlugins() as $pluginClass) {
    $plugin = $container->isRegistered($pluginClass) ? $container->get($pluginClass) : new $pluginClass();
    if (!$plugin instanceof PluginInterface) {
        throw new CliException(sprintf('Plugin "%s" must implement "%s".', $pluginClass, PluginInterface::class));
    }
    $plugin->init($container);
}
/** @var Application $app */
$app = $container->get(Services::APPLICATION);
$app->run();