init
[mdref/mdref] / public / index.php
1 <?php
2 while (ob_get_level() && ob_end_clean());
3
4 $loader = require __DIR__ . "/../vendor/autoload.php";
5 /* @var $loader \Composer\Autoload\ClassLoader */
6 $loader->add("controllers", __DIR__ . "/../mdref");
7
8 use http\Controller;
9 use http\Controller\Url;
10
11 use http\Controller\Observer\Callback;
12 use http\Controller\Observer\Params;
13 use http\Controller\Observer\Action;
14 use http\Controller\Observer\View;
15 use http\Controller\Observer\Layout;
16
17
18 $url = new Url;
19
20 $ctl = new Controller;
21 $ctl->setDependency("baseUrl", $url);
22
23 $ctl->attach(new Params\Action);
24 $ctl->attach(new Action(["controllerPrefix" => "controllers\\"]));
25 $ctl->attach(new Callback(function(\http\Controller $ctl) use ($url) {
26 $ctl->getPayload()->baseUrl = $url;
27 }));
28 $ctl->attach(new View(["directory" => __DIR__ . "/../mdref/views"]));
29 $ctl->attach(new Layout(["directory" => __DIR__ . "/../mdref/views"]));
30
31 $response = $ctl->notify()->getResponse();
32 $response->send();