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')); }
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); }