Beispiel #1
0
<?php

include __DIR__ . '/../vendor/autoload.php';
use Phroute\Phroute\RouteCollector;
use Phroute\Phroute\Dispatcher;
$collector = new RouteCollector();
$USER_SESSION = false;
$collector->filter('auth', function () use(&$USER_SESSION) {
    if (!$USER_SESSION) {
        return "Nope! Must be authenticated";
    }
});
$collector->group(array('before' => 'auth'), function (RouteCollector $collector) {
    $collector->get('/', function () {
        return 'Hurrah! Home Page';
    });
});
$dispatcher = new Dispatcher($collector->getData());
echo $dispatcher->dispatch('GET', '/'), "\n";
// Nope! Must be authenticated
$USER_SESSION = true;
echo $dispatcher->dispatch('GET', '/'), "\n";
// Hurrah! Home Page
<?php

include __DIR__ . '/../vendor/autoload.php';
use Phroute\Phroute\RouteCollector;
use Phroute\Phroute\Dispatcher;
$collector = new RouteCollector();
$collector->filter('auth', function () {
    return "Nope!";
});
$collector->group(array('prefix' => 'admin'), function (RouteCollector $collector) {
    $collector->group(['before' => 'auth'], function (RouteCollector $collector) {
        $collector->get('pages', function () {
            return 'page management';
        });
        $collector->get('products', function () {
            return 'product management';
        });
    });
    // Not inside auth group
    $collector->get('orders', function () {
        return 'Order management';
    });
});
$dispatcher = new Dispatcher($collector->getData());
echo $dispatcher->dispatch('GET', '/admin/pages'), "\n";
// Nope!
echo $dispatcher->dispatch('GET', '/admin/products'), "\n";
// Nope!
echo $dispatcher->dispatch('GET', '/admin/orders'), "\n";
// order management