Ответы пользователя по тегу Silex
  • Почему в silex framework нет папки контроллеров?

    @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), можно придумать что-то своё, главное поддерживать единообразие, чтобы потом самому в этом не запутаться.
    Ответ написан
    Комментировать