独自のルートを持つ複数のスキン/テンプレートを含む symfony プロジェクトがあります。正しいセットアップのアイデアはありますか?
- スキンとアセットだけでなく、一部のスキンに存在する可能性のあるサービスも含まれているため、すべてのスキン/テンプレートは独自のバンドルです。
- ホスト名がスキンを決定します。
- カスタム RouteLoader を使用して、ターゲット バンドルの route.yml をロードします。
カスタム RouteLoader は仕事をしますが、生成されたルートはキャッシュされています。私の知る限り、ルートのキャッシュを防ぐ方法はありません。
いくつかの提案は次のとおりです。
- /{dynamic} ルートを作成するため、手動でルートを形成します..しかし、ルーターのその機能を捨てたり、プロジェクト全体をリファクタリングしたりしたくありません..
- ルートの前にテンプレート識別子を付けます。これには、すべての route.yml ファイルをロードする必要がありますが、パスが共有されているため、これは不可能です。
誰?複数のプロジェクトを行うことはできません。スキンの量は 20 ~ 30 ~ 程度です。
このセットアップの理由は、Content-as-a-Service .. サービスのターゲットであり、複数のクライアントがプロジェクトをプラットフォームとして使用し、それらの設定によって使用されるテンプレートが決定されるためです。