/** * @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; }
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();