/** * @param Event $event * @param Application $application * @return mixed */ public function boot(Event $event, Application $application) { $config = $application->getConfig()->application; if (isset($config->view) && $config->view !== false) { $view = new View(); $view->setViewsDir($config->view->viewsDir); $view->setLayoutsDir($config->view->layoutsDir); $view->setLayout($config->view->layout); $application->getDI()->setShared('view', $view); } }
public function setUp() { parent::setUp(); $this->app = self::$application; $this->di = $this->app->getDI(); $this->config = $this->app->getConfig(); }
/** * @param Event $event * @param Application $application * @return mixed */ public function boot(Event $event, Application $application) { $config = $application->getConfig(); if (isset($config->application->sharedServices) && $config->application->sharedServices) { $injector = new Injector($application->getDI()); $injector->inject($config->application->sharedServices->toArray()); } }
/** * @param Event $event * @param Application $application * @return mixed */ public function boot(Event $event, Application $application) { $moduleManager = new ModuleManager($application); $moduleManager->setModulesDirectory($application->getConfig()->application->modulesDirectory); $modules = $application->getConfig()->application->modules; $moduleManager->registerModules($modules ? $modules->toArray() : []); // Setup configs $application->getConfig()->merge($moduleManager->getConfigs($application->getModules())); }
public function testModuleRegister() { $moduleLoader = new ModuleLoader(DI::getDefault()); $modules = $moduleLoader->dump(TESTS_ROOT_DIR . '/fixtures/app/modules/', TESTS_ROOT_DIR . '/fixtures/app/config/'); $app = new Application(); $app->registerModules($modules); $this->assertSameSize($modules, $app->getModules()); $this->assertTrue(class_exists('Test\\Models\\Fake')); $this->assertTrue(class_exists('Test\\Components\\Fake')); $this->assertTrue(class_exists('Test\\Services\\Fake')); }
/** * @param Application $application * @return array */ public function getNamespaces(Application $application) { $namespaces = []; foreach ($application->getModules() as $module) { $namespaces[$module['name']] = $module['dir']; } $config = $application->getConfig(); if (isset($config->application->autoload)) { $namespaces = array_merge($namespaces, $config->application->autoload->toArray()); } return $namespaces; }
/** * @param Event $event * @param Application $application * @return mixed */ public function boot(Event $event, Application $application) { $config = $application->getConfig(); if (isset($config->application->initializers)) { foreach ($config->application->initializers as $initializer) { $reflection = new \ReflectionClass($initializer); $initializerInstance = $reflection->newInstance(); if ($initializerInstance instanceof Application\InitializerInterface) { $initializerInstance->initialize($application->getDI()); } } } }
public function setUp() { $_SERVER['HTTP_HOST'] = 'vegas.dev'; $_SERVER['REQUEST_URI'] = '/'; $this->di = DI::getDefault(); $modules = (new ModuleLoader())->dump(TESTS_ROOT_DIR . '/fixtures/app', TESTS_ROOT_DIR . '/fixtures/app/config/'); $app = new Application(); $app->registerModules($modules); require_once TESTS_ROOT_DIR . '/fixtures/app/Bootstrap.php'; $config = (require TESTS_ROOT_DIR . '/fixtures/app/config/config.php'); $config = new \Phalcon\Config($config); $bootstrap = new \Bootstrap($config); $bootstrap->setup(); $this->bootstrap = $bootstrap; }
public function setUp() { parent::setUp(); $di = DI::getDefault(); $di->set('view', function () use($di) { $view = new View($di->get('config')->application->view->toArray()); $path = $di->get('config')->application->moduleDir . '/Test/views'; if (file_exists($path)) { $view->setViewsDir($path); } return $view; }); $modules = (new ModuleLoader($di))->dump($di->get('config')->application->moduleDir, $di->get('config')->application->configDir); $app = new Application(); $app->registerModules($modules); $this->di = $di; }
/** * @param array $modules */ public function registerModules(array $modules) { $availableModules = []; foreach ($modules as $moduleName => &$moduleConfig) { if (!is_string($moduleName)) { $moduleName = $moduleConfig; $moduleConfig = []; } if (!isset($moduleConfig['path'])) { $moduleConfig['path'] = Path::join($this->application->getApplicationDirectory(), $this->getModulesDirectory(), $moduleName, self::MODULE_BOOTSTRAP . '.php'); } if (!isset($moduleConfig['viewsDir']) || $moduleConfig['viewsDir'] !== false) { $moduleConfig['viewsDir'] = Path::join($this->getModulesDirectory(), $moduleName, 'View'); } if (!isset($moduleConfig['className'])) { $moduleConfig['className'] = sprintf('%s\\%s', $moduleName, self::MODULE_BOOTSTRAP); } $moduleConfig['name'] = $moduleName; $moduleConfig['dir'] = dirname($moduleConfig['path']); $availableModules[$moduleName] = $moduleConfig; } $this->application->registerModules($availableModules, true); }
/** * @param Event $event * @param Application $application * @return mixed */ public function boot(Event $event, Application $application) { // Initializes router $router = new Router(false); $router->setDI($application->getDI()); // default routes if (isset($application->getConfig()->application->defaultRoutes)) { $defaultRoutesPath = $application->getConfig()->application->defaultRoutes; if (file_exists($defaultRoutesPath)) { require $defaultRoutesPath; } } // Modules routes (new Router\Loader())->autoload($application->getModules(), $router); $application->getDI()->setShared('router', $router); }
/** * Runs application * * @param string $uri * @return mixed|void */ public function run($uri = null) { return $this->application->handle($uri)->getContent(); }