Пример #1
0
 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'));
 }
Пример #2
0
 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;
 }
Пример #3
0
 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;
 }
Пример #4
0
 /**
  * @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);
 }