コード例 #1
0
ファイル: ViewTest.php プロジェクト: yeaha/owl-mvc
 public function test()
 {
     $view = new \Owl\Mvc\View(TEST_DIR . '/fixture/view');
     $output = $view->render('page');
     $output = trim($output, "\n");
     $this->assertEquals('<html><body>foobar</body></html>', $output);
 }
コード例 #2
0
ファイル: boot.php プロジェクト: yeaha/owl-site
function __ini_app(\Owl\Application $app)
{
    $app->middleware(function ($request, $response) {
        $start = microtime(true);
        yield;
        $use_time = (microtime(true) - $start) * 1000;
        $response->withHeader('x-run-time', (int) $use_time);
    });
    $router = new \Owl\Mvc\Router(['namespace' => '\\Controller']);
    $app->middleware(function ($request, $response) use($router) {
        $router->execute($request, $response);
    });
    $app->setExceptionHandler(function ($exception, $request, $response) {
        if ($exception instanceof \Owl\Http\Exception) {
            $status = $exception->getCode();
        } else {
            $status = 500;
            log_exception(get_logger('default'), $exception);
        }
        $response->withStatus($status);
        if (DEBUG) {
            foreach (__exception_headers($exception, 8) as $key => $value) {
                $response->withHeader($key, $value);
            }
        }
        if (!$request->isAjax()) {
            $view = new \Owl\Mvc\View(ROOT_DIR . '/View');
            $response->write($view->render('_error', ['exception' => $exception]));
        }
    });
    return $app;
}
コード例 #3
0
ファイル: boot.php プロジェクト: niceDreamer/owl
function __ini_app(\Owl\Application $app)
{
    $app->middleware(function ($request, $response) {
        $start = microtime(true);
        yield;
        $use_time = (microtime(true) - $start) * 1000;
        $response->setHeader('use-time', (int) $use_time . 'ms');
    });
    $router = new \Owl\Mvc\Router(['namespace' => '\\Controller']);
    $app->middleware(function ($request, $response) use($router) {
        $router->execute($request, $response);
    });
    $app->setExceptionHandler(function ($exception, $request, $response) {
        $status = 500;
        if ($exception instanceof \Owl\Http\Exception) {
            $status = $exception->getCode();
        }
        $response->setStatus($status);
        $view = new \Owl\Mvc\View(ROOT_DIR . '/View');
        $response->setBody($view->render('_error', ['exception' => $exception]));
    });
    return $app;
}
コード例 #4
0
ファイル: Controller.php プロジェクト: yeaha/owl-site
 protected function render($file, array $vars = [])
 {
     $view = new \Owl\Mvc\View(ROOT_DIR . '/View');
     return $view->render($file, $vars);
 }
コード例 #5
0
ファイル: EngineTest.php プロジェクト: noikiy/owl
 public function testDynamic()
 {
     $view = new \Owl\Mvc\View();
     $view->setPath(__DIR__ . '/../../app/resources/views/');
     $this->assertSame("Hello, Dmitry @ovr!\n", $view->render('dynamic.phtml', ['username' => 'Dmitry @ovr']));
 }
コード例 #6
0
ファイル: index.php プロジェクト: noikiy/owl
 * @author Patsura Dmitry http://github.com/ovr <*****@*****.**>
 */
use Owl\Application;
use Owl\Http\Request;
use Owl\Router\Route;
use Owl\Router\Router;
error_reporting(-1);
ini_set('display_errors', 1);
include_once __DIR__ . '/../vendor/autoload.php';
$eventManager = new \Owl\Event\Manager();
$profiler = new Owl\Debug\Profiler();
$profiler->setAssetsUri('//assets.owl.local/profiler/min.css');
$profiler->listen($eventManager);
$serviceManager = new Owl\Service\Manager();
$router = new Router();
$router->add('/', ['module' => 'Common', 'controller' => 'Index', 'action' => 'index']);
$serviceManager->set('router', $router);
$driver = new \Owl\DBAl\Driver\Mysql('mysql:host=127.0.0.1;dbname=phalcon-module-skeleton;port=49153', 'root', 'root', array(PDO::ATTR_PERSISTENT => true, PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES "UTF8"'));
$connection = new \Owl\DBAL\Connection(['driver' => $driver], $eventManager);
$serviceManager->set('connection', $connection);
$cache = new \Owl\Cache\Driver\Memcached();
$serviceManager->set('cache', $cache);
$view = new \Owl\Mvc\View();
$view->setPath(__DIR__ . '/../app/modules/common/resources/views/');
$serviceManager->set('view', $view);
$application = new Application($serviceManager, $eventManager);
$application->setErrorHandlerParameters(array('module' => 'Common', 'controller' => 'Index', 'action' => 'error'));
$application->setExceptionHandlerParameters(array('module' => 'Common', 'controller' => 'Index', 'action' => 'exception'));
$response = $application->handle(Request::createFromGlobals(), new \Owl\Http\Response());
$response = $profiler->setContent($response);
$response->send();