Skip to content

Instantly share code, notes, and snippets.

@oxUnd
Created October 15, 2015 09:42
Show Gist options
  • Save oxUnd/ca9a299c03ca36ce6ee6 to your computer and use it in GitHub Desktop.
Save oxUnd/ca9a299c03ca36ce6ee6 to your computer and use it in GitHub Desktop.
learning Laravel . Tiny Framework
{
"name": "Tiny",
"require": {
"symfony/http-foundation": "2.7.*",
"symfony/http-kernel": "2.7.*",
"symfony/routing": "2.7.*"
}
}
<?php
require __DIR__ . '/vendor/autoload.php';
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Matcher\UrlMatcher;
use Symfony\Component\Routing\RequestContext;
use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Route;
use Symfony\Component\EventDispatcher\EventDispatcher;
use Symfony\Component\HttpKernel\EventListener\RouterListener;
use Symfony\Component\HttpKernel\Controller\ControllerResolver;
use Symfony\Component\HttpKernel\HttpKernel;
$routes = new RouteCollection();
$routes->add('hello', new Route('/hello', array('_controller' =>
function (Request $request) {
return new Response(sprintf("Hello %s", $request->get('name')));
}
)));
$routes->add('index', new Route('/', array('_controller' =>
function (Request $request) {
return new Response("Index");
}
)));
$request = Request::createFromGlobals();
$context = new RequestContext();
$context->fromRequest($request);
$matcher = new UrlMatcher($routes, $context);
$dispatcher = new EventDispatcher();
$dispatcher->addSubscriber(new RouterListener($matcher));
$resolver = new ControllerResolver();
$kernel = new HttpKernel($dispatcher, $resolver);
$kernel->handle($request)->send();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment