Как построить скелет классического приложения на Slim PHP? Изучаю доки Slim. Роутер: $app->get('/[{name}]', function ($request, $response, $args) {
return $this->renderer->render($response, 'index.phtml', $args);
});
Все роуты у нас в файле routes.php (который в свою очередь подключён к точке входп). Насколько я понял функция в роуте у нас выполняет роль контроллера? По идее я могу сделать отдельную папку с контроллерами, потому что держать всё в одном файле не очень так как функции будут большие. Как в Slim это правильно сделать?

21 Авг 2019 в 07:01
168 +1
0
Ответы
1

Да, вы правильно поняли, что функция в роуте выполняет роль контроллера. Идеальным вариантом для организации кода в Slim PHP будет использование отдельных контроллеров для каждого маршрута или группы маршрутов.

Чтобы создать отдельные контроллеры, вы можете создать папку "Controllers" в вашем проекте и поместить туда файлы с классами контроллеров. Например, вы можете создать файл "HomeController.php" со следующим содержанием:

<?php
namespace App\Controllers;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
class HomeController
{
protected $renderer;
public function __construct($renderer)
{
$this->renderer = $renderer;
}
public function index(Request $request, Response $response, $args)
{
return $this->renderer->render($response, 'index.phtml', $args);
}
}

Затем в файле routes.php вы можете подключить этот контроллер и вызвать метод index():

use App\Controllers\HomeController;
$app->get('/[{name}]', HomeController::class . ':index');

Это позволит разделить логику вашего приложения на более удобные и поддерживаемые части, что облегчит вам работу с кодом и его расширение в будущем.

20 Апр 2024 в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 96 005 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир