]> git.andy128k.dev Git - ipf.git/commitdiff
add project to controller
authorAndrey Kutejko <andy128k@gmail.com>
Sat, 17 Dec 2016 18:37:24 +0000 (19:37 +0100)
committerAndrey Kutejko <andy128k@gmail.com>
Sat, 17 Dec 2016 18:37:24 +0000 (19:37 +0100)
ipf/controller/base.php
ipf/middleware/dispatch.php

index 916b4a3bb6c3c9e8f8c3f06485b2c34e939bd055..6e0b7cc7c3d51cb2f47e0df53487a32af66b01f8 100644 (file)
@@ -2,7 +2,15 @@
 
 class IPF_Controller
 {
-    protected $request, $params;
+    /** @var IPF_Project */
+    protected $project;
+    protected $request;
+    protected $params;
+
+    function __construct(IPF_Project $project)
+    {
+        $this->project = $project;
+    }
 
     function process($action, $request, $matches)
     {
@@ -25,6 +33,7 @@ class IPF_Controller
             if ($response)
                 return $response;
         }
+        return null;
     }
 
     protected function after($action, $response)
@@ -48,4 +57,3 @@ class IPF_Controller
         return $filters;
     }
 }
-
index 2dbd45610165041721cfc132b868f5d176d08802..abfe8f42ee0bb61b177a8079117174f0a2fc1d37 100644 (file)
@@ -4,7 +4,7 @@ class IPF_Dispatch_Middleware extends IPF_Middleware
 {
     function processRequest($request)
     {
-        $router = \IPF_Project::getInstance()->router;
+        $router = $this->project->router;
 
         $m = $router->match($request);
         if (!$m) {
@@ -16,11 +16,10 @@ class IPF_Dispatch_Middleware extends IPF_Middleware
 
         try {
             $controller = $route->controller();
-            $controller = new $controller;
+            $controller = new $controller($this->project);
             return $controller->process($route->action(), $request, $match);
         } catch (IPF_Router_Shortcut $e) {
             return $e->response($request);
         }
     }
 }
-