Задать вопрос

Почему в silex framework нет папки контроллеров?

Здравствуйте.
Подскажите пожалуйста, а где должны храниться контроллеры, модели в этом фреймворке?
Или контроллеры просто разбиваются на отдельные файлы (вместе с соответствующими роутами), и потом просто инклудятся в controllers.php?
Подскажите пожалуйста. Только установил silex, и разбираюсь
  • Вопрос задан
  • 393 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@TexElless
Backend-разработчик(преимущественно PHP и Symfony)
У Silex'а нет строгой структуры "из коробки", у нас в проде вполне живет проект с роутингом прям в index.php, а внутри роутов просто дергаются методы нужных сервисов. Что-то вроде такого:
$forecast = $app['controllers_factory'];
$forecast->get('/calculations', function (Request $request) use ($app) {
    $data = new \App\Services\ForecastService($app['db'], $request, $app['user']);
    $return = $data->getForecastCalculations();

    return new JsonResponse((array)$return, 200, ['access-control-allow-origin' => '*']);
});
$app->mount('/forecast', $forecast);
$app->after($app['cors']);

$app->run();


Если нужно усложнение логики - можно из роутинга вызывать нужный контроллер, внутри него уже дергать нужное количество сервисов, подготавливающих ответ. При этом где будут храниться сервисы, контроллеры, модели и будут ли они у вас вообще - исключительно ваше дело. Можно делать по аналогии с другими фреймворками (Laravel-style, Symfony-style), можно придумать что-то своё, главное поддерживать единообразие, чтобы потом самому в этом не запутаться.
Ответ написан
Комментировать
riky
@riky
Laravel
предполагается что их там будет немного. поэтому либо в один файл либо инклюдить.
если вы собираетесь писать десяток контроллеров и столько же моделей, то возьмите ларавел, такой же микрофреймворк только все лучше организовано и больше функций.
(микрофреймворк lumen не рекомендую, там отличия от полного laravel минимальные)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽