Esempio n. 1
0
 /**
  * Boot up the application
  *
  */
 public function run()
 {
     $container = new \League\Container\Container();
     require "TestMiddleware.php";
     $dispatcher = new Dispatcher([function (ServerRequestInterface $request, callable $next) {
         $response = $next($request);
         // delegate control to next middleware
         $response->getBody()->write("this is test middleware");
         return $response;
     }, \Psr7Middlewares\Middleware\BasicAuthentication::class, function (ServerRequestInterface $request) {
         // Retrieve the route
         $route = $this->getRoute($this->path);
         /* Check if controller class extends the core controller */
         if ($route['controller']['class'] == 'Leap\\Core\\Controller' || is_subclass_of($route['controller']['class'], "Leap\\Core\\Controller")) {
             /* Create the controller instance */
             $this->controller = new $route['controller']['class']($this->request, $this->response, $route, $this->hooks, $this->plugin_manager, $this->pdo);
         } else {
             if (class_exists($route['controller']['class'])) {
                 printr("Controller class '" . $route['controller']['class'] . "' does not extend the base 'Leap\\Core\\Controller' class", true);
             } else {
                 printr("Controller class '" . $route['controller']['class'] . "' not found", true);
             }
         }
         if (!$this->controller->access) {
             $this->response = $this->response->withStatus(403);
             $this->path = "permission-denied";
             //return $runFunction($request, $this->response, $done);
         } else {
             /* Call the action from the Controller class */
             if (method_exists($this->controller, $route['action'])) {
                 $this->controller->{$route['action']}();
             } else {
                 $this->controller->defaultAction();
             }
             /* Render the templates */
             $this->controller->render();
         }
         return $this->response;
     }], new ContainerResolver($container));
     $response = $dispatcher->dispatch($this->request);
     (new SapiStreamEmitter())->emit($response);
 }
Esempio n. 2
0
<?php

use mindplay\middleman\Dispatcher;
use mindplay\middleman\InteropResolver;
require '../vendor/autoload.php';
// Get ServerRequestInterface object.
$request = Zend\Diactoros\ServerRequestFactory::fromGlobals();
// Boot application.
/* @var Interop\Container\ContainerInterface $container */
$container = (require 'container.php');
$router = (require 'router.php');
$middlewares = [Psr7Middlewares\Middleware\BasicAuthentication::class, $router];
$dispatcher = new Dispatcher($middlewares, new InteropResolver($container));
// Let application do the magic.
$response = $dispatcher->dispatch($request, new Zend\Diactoros\Response());
// Output Response.
(new Zend\Diactoros\Response\SapiEmitter())->emit($response);