public function testMicroFinishHandlers()
 {
     $trace = array();
     $app = new Phalcon\Mvc\Micro();
     $app->finish(function () use(&$trace) {
         $trace[] = 1;
     });
     $app->finish(function () use(&$trace) {
         $trace[] = 1;
     });
     $app->map('/blog', function () use(&$trace) {
         $trace[] = 1;
     });
     $app->handle('/blog');
     $this->assertEquals(count($trace), 3);
 }
Example #2
0
<?php

$app = new Phalcon\Mvc\Micro();
//Executed before every route executed
//Return false cancels the route execution
$app->before(function () use($app) {
    if ($app['session']->get('auth') == false) {
        return false;
    }
    return true;
});
$app->map('/api/robots', function () {
    return array('status' => 'OK');
});
$app->after(function () use($app) {
    //This is executed after the route is executed
    echo json_encode($app->getReturnedValue());
});
$app->finish(function () use($app) {
    //This is executed when the request has been served
});
 public function testMicroStopMiddlewareClasses()
 {
     Phalcon\DI::reset();
     $app = new Phalcon\Mvc\Micro();
     $app->map('/api/site', function () {
         return true;
     });
     $middleware = new MyMiddlewareStop();
     $app->before($middleware);
     $app->before($middleware);
     $app->after($middleware);
     $app->after($middleware);
     $app->finish($middleware);
     $app->finish($middleware);
     $app->handle('/api/site');
     $this->assertEquals($middleware->getNumber(), 3);
 }