corso https://vola.udemy.com/course/php-mvc-from-scratch/learn/lecture/40931984#overview
filippo.bertilotti
2024-05-28 c2428b3a8f97ff3a5c125944ac2b6aee9b081734
aggiunta metodo set per la dipendeza Viewer (parte 150)
4 files modified
15 ■■■■ changed files
src/App/Controllers/home.php 6 ●●●●● patch | view | raw | blame | history
src/App/Controllers/products.php 2 ●●● patch | view | raw | blame | history
src/Framework/Controller.php 6 ●●●●● patch | view | raw | blame | history
src/Framework/Dispatcher.php 1 ●●●● patch | view | raw | blame | history
src/App/Controllers/home.php
@@ -4,7 +4,9 @@
use Framework\Controller;
class Home extends Controller {
    public function index() {
        $viewer = new Viewer;
        echo $viewer->render("Home/index.php");
        echo $this->viewer->render("shared/header.php");
        echo $this->viewer->render("Home/index.php");
    }
}
src/App/Controllers/products.php
@@ -6,7 +6,7 @@
use Framework\Controller;
class Products extends Controller {
    public function __construct(private Viewer $viewer, private Product $model) { }
    public function __construct(private Product $model) { }
    public function index() {
        
        $products = $this->model->findAll();
src/Framework/Controller.php
@@ -6,8 +6,14 @@
abstract class Controller {
    protected Request $request;
    protected Viewer $viewer;
    public function setRequest(Request $request): void {
        $this->request = $request;
    }
    public function setViewer(Viewer $viewer): void {
        $this->viewer = $viewer;
    }
}
src/Framework/Dispatcher.php
@@ -27,6 +27,7 @@
        $controller_object = $this->container->get($controller);
        
        $controller_object->setRequest($request);
        $controller_object->setViewer($this->container->get(Viewer::class));
        $args = $this->getActionArguments($controller, $action, $params);