From 61b5bc1c0f974139ea423f235f3eba1958e08b05 Mon Sep 17 00:00:00 2001 From: "origami11@yandex.ru" Date: Tue, 2 Dec 2025 19:43:10 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=D0=A3=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BC=D0=B0=D0=B3=D0=B8=D1=87=D0=B5=D1=81=D0=BA?= =?UTF-8?q?=D0=B8=D1=85=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B2=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Controller/Action.php | 8 ++--- src/Controller/ActionInterface.php | 7 ++-- src/Controller/Component.php | 29 ++++++++--------- src/Database.php | 51 ++++++++++++++++++++++++++---- src/Filter/Filter.php | 5 +-- src/View/Composite.php | 10 +----- src/View/FakeTemplate.php | 32 ------------------- src/View/Json.php | 33 +++++++++++++++++++ src/View/Plain.php | 16 ++-------- src/View/TalView.php | 27 ++++++++++++++++ src/View/Template.php | 10 ++++++ src/View/Top.php | 24 ++------------ src/View/View.php | 7 ++-- 13 files changed, 148 insertions(+), 111 deletions(-) delete mode 100644 src/View/FakeTemplate.php create mode 100644 src/View/Json.php create mode 100644 src/View/TalView.php create mode 100644 src/View/Template.php diff --git a/src/Controller/Action.php b/src/Controller/Action.php index fab01da..13b7ba8 100644 --- a/src/Controller/Action.php +++ b/src/Controller/Action.php @@ -111,7 +111,7 @@ class Action implements ActionInterface * @param int $size * @return string Путь к иконке */ - function findIcon($icon, $size) { + function findIcon($icon, $size): string { $webPath = $this->config->get('site', 'web'); return Path::join($webPath, 'icons', $size . 'x' . $size, $icon . '.png'); } @@ -119,8 +119,8 @@ class Action implements ActionInterface /** * Создает представление * @param string $name - * @param class-string $viewClass - * @return Composite + * @param class-string $viewClass + * @return View */ public function getView($name, $viewClass = Composite::class) { @@ -143,7 +143,7 @@ class Action implements ActionInterface /** @var \ctiso\View\Composite */ $tpl = new $viewClass($template); - $tpl->config = $this->config; + $tpl->set('config', $this->config); $stylePath = Path::join($webPath, "assets", "css"); $iconsPath = Path::join($webPath, 'icons'); diff --git a/src/Controller/ActionInterface.php b/src/Controller/ActionInterface.php index 4c8dbf6..ddb2ff6 100644 --- a/src/Controller/ActionInterface.php +++ b/src/Controller/ActionInterface.php @@ -2,6 +2,7 @@ namespace ctiso\Controller; +use ctiso\View\Template; use ctiso\Database; use ctiso\HttpRequest; @@ -10,14 +11,14 @@ interface ActionInterface { * Действие может вернуть Шаблон или строку * * @param HttpRequest $request - * @return \ctiso\View\View|string|false + * @return Template|string|false */ function execute(HttpRequest $request); function getConnection(): Database; /** * @param string $name - * @param class-string<\ctiso\View\View> $class - * @return \ctiso\View\View + * @param class-string