nicklasos/router

There is no license information available for the latest version (dev-master) of this package.

Sinatra like router

dev-master 2014-08-22 12:17 UTC

This package is auto-updated.

Last update: 2024-05-25 06:44:18 UTC


README

#Usage:

##Install from composer

{
    "require": {
        "nicklasos/router": "dev-master"
    }
}

##Router

require 'vendor/autoload.php';

use Nicklasos\Router\App,
    Nicklasos\Router\View;

$app = new App;

$view = new View;
$view->setViewsPath(__DIR__ . '/views');
$view->setLayout('layout');

$app->get('/', function () {
    return 'home ';
});

$app->get('test/views', function () use ($view) {
    return $view->render('index', [
        'viewName' => 'This is index.php view file',
        'title' => 'Layout'
    ]);
});

$app->get('user/:id', function () {
    return $_GET['id'];
});

$app->get('test/:param/view/:test', function () {
    return $_GET['param'] . $_GET['test'];
});

$app->get('test', function () {
    return 'test';
});

$app->get('user/profile', function () {
    return 'user/profile';
});

$app->get('test/1/2', function () {
    return 'test/1/2';
});

$app->notFound(function () {
    return 'Not found';
});

$app->run();

##Template

<!-- layout.php -->
<h3><?= $title ?></h3>
<?= $this->render($view, $data) ?>

<!-- index.php -->
<p><?= viewName ?></p>