Задать вопрос
  • Как лучше реализовать Routing многоязычного мультисайта на Symfony?

    @viz_ko Автор вопроса
    Один из способов решения(на мой взгляд самый простой):
    Нам нужно отказаться от routes.yaml (удалям файл) и создать routes.php со следующим содержимым:

    <?php
    // Файл config/routes.php
    use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
    
    return static function (RoutingConfigurator $routes):void {
        // Массив с префиксами. Тут мы можем менять префиксы на основе любых условий
        $prefix = ['ru'=>'/', 'en'=>'/en'];
    
        $routes->import(
            // Стандартное поведение - через атрибуты контроллеров
            '../src/Controller/',
            'attribute',        
        )->prefix($prefix); // Добавляем наши префиксы
    };


    Дальше нужно решить, как именно править массив с префиксами. Можно создать отдельный json файл, и загружать информацию из него, можно попытаться получить данные из базы (Entity на данном этапе еще не доступны), жестко закодировать массив или любой другой способ, который покажется оптимальным в данной ситуации.
    Ответ написан
    Комментировать