Example #1
0
 public static function configure($config, $env, $option = [])
 {
     self::$_engine = null;
     if (!is_array($env)) {
         $env = [$env];
     }
     array_unshift($env, 'all');
     $user = self::Context()->getPosixUser();
     self::getEngine()->configure(NORA_APP_NAME . "." . $user, $config, $env, $option);
     self::setService('config', self::getEngine()->Config());
     $config = self::getService('config');
     // PHPの設定
     mb_language($config->read('lang', 'ja'));
     mb_internal_encoding($config->read('encoding', 'utf-8'));
     // Timelimit
     set_time_limit($config->read('time_limit', 20));
     // サービスの設定
     if ($config->has('service')) {
         foreach ($config->read('service') as $k => $v) {
             self::setService($k, $v);
         }
     }
     // オートロード
     if ($config->has('map.class')) {
         // ノラクラスを読み込む
         self::setService('autoloader', AutoLoader::register($config->read('map.class')));
     }
     // 出力ハンドラを仕込む
     self::setService('output', ['class' => 'Nora\\System\\IO\\Writer\\Writer', 'method' => 'create', 'params' => ['@context']]);
     // デバッガを仕込む
     self::setService('debugger', ['class' => 'Nora\\Develop\\Debug\\Debugger', 'params' => ['@context']]);
     // バリデータを仕込む
     self::setService('validator', ['class' => 'Nora\\System\\Validation\\ValidatorBuilder']);
     // 多言語対応
     self::setService('translator', ['class' => 'Nora\\I18n\\Translator']);
     // モジュールビルダー
     self::setService('module', ['class' => 'Nora\\System\\Module\\ModuleBuilder', 'params' => ['@context']]);
 }
Example #2
0
 public function testAutoLoad()
 {
     AutoLoader::register(['Nora' => __DIR__ . '/../../class']);
     $this->assertTrue(class_exists('Nora\\Util\\Hash\\Hash'));
 }