creazione di più viewer controllers per renderizzare diversi tipi di views (parte 151)
1 files copied
1 files renamed
4 files modified
| | |
| | | <?php |
| | | namespace App\Controllers; |
| | | use Framework\Viewer; |
| | | use Framework\Controller; |
| | | class Home extends Controller { |
| | | public function index() { |
| | |
| | | namespace App\Controllers; |
| | | use App\Models\Product; |
| | | use Framework\Exceptions\PageNotFoundException; |
| | | use Framework\Viewer; |
| | | use Framework\Controller; |
| | | class Products extends Controller { |
| | | |
| | |
| | | abstract class Controller { |
| | | protected Request $request; |
| | | |
| | | protected Viewer $viewer; |
| | | protected PHPTemplateViewer $viewer; |
| | | |
| | | public function setRequest(Request $request): void { |
| | | $this->request = $request; |
| | | } |
| | | |
| | | public function setViewer(Viewer $viewer): void { |
| | | public function setViewer(PHPTemplateViewer $viewer): void { |
| | | $this->viewer = $viewer; |
| | | } |
| | | |
| | |
| | | $controller_object = $this->container->get($controller); |
| | | |
| | | $controller_object->setRequest($request); |
| | | $controller_object->setViewer($this->container->get(Viewer::class)); |
| | | $controller_object->setViewer($this->container->get(PHPTemplateViewer::class)); |
| | | |
| | | $args = $this->getActionArguments($controller, $action, $params); |
| | | |
copy from src/Framework/Viewer.php
copy to src/Framework/MVCTemplateViewer.php
File was copied from src/Framework/Viewer.php |
| | |
| | | |
| | | namespace Framework; |
| | | |
| | | class Viewer { |
| | | class MVCTemplateViewer { |
| | | public function render(string $template, array $data = []): string { |
| | | |
| | | extract($data, EXTR_SKIP); |
File was renamed from src/Framework/Viewer.php |
| | |
| | | |
| | | namespace Framework; |
| | | |
| | | class Viewer { |
| | | class PHPTemplateViewer { |
| | | public function render(string $template, array $data = []): string { |
| | | |
| | | extract($data, EXTR_SKIP); |