public function testMain() { // セットアップ Nora::Configure(TEST_DIR, 'dev', ['config' => 'config/test']); Nora::getService('logger')->err('エラーだよ'); $this->assertEquals(spl_object_hash(Nora::getService('logger')), spl_object_hash(Nora::getService('logger'))); // 既存クラスをサービスにする Nora::setService('mysql', ['class' => 'PDO', 'params' => ['dsn' => 'mysql:dbname=test;host=127.0.0.1']]); // サービスを読み込む Nora::setService('hoge', ['callback' => function ($db) { return $db; }, 'params' => ['db' => '@mysql']]); var_Dump(Nora::getService('hoge')->prepare('SHOW TABLES;')->fetch()); }
<?php //die('a'); //echo 'a'; use Nora\Nora; require_once realpath(__DIR__ . '/../script/autoload.php'); // Webを起動する Nora::getService('web')->route('/({controller:*}/)*', function ($context) { // バリデータを取得 $v = $context->getService('validator'); // マッチしたパターンを取得 $matched = $context->getMatched($v->offset('controller', $v->string('index', true))); return $context->getService('web')->getController($ctrl_name = $matched['controller'], $url_mask = '/' . $matched['controller']); })->start();
public function testMain() { Nora::dump(Nora::getService('config')); }