2017-12-11 26 views
0

私のコードを古いsymfonyプロジェクトからリファクタリングする必要があります。私はテンプレートプロバイダのようなものを持っています。各テンプレートは、独自のフォーム、小枝テンプレート、プロバイダ(テンプレートの名前と小枝ファイルへのパスがあります)、およびservices.ymlとは別のバンドルです。今私はそれを1つのバンドルに入れることができ、私は最良の方法でそれをやり遂げることができるアドバイスが必要です。各バンドルには別々の小枝ファイルが必要です(テンプレートの種類やフォームのデータに依存するスクリプトがあります)。しかし、おそらく、動的な方法でフォームを生成するためのオートマジックがあります(フォームにはIDが1つのフィールドしかありません)。独自のフォームでテンプレートを生成するシステムと、これらのフォームからの変数を使用するツリーファイルをどのように設計しますか?残念ながら私はプロジェクトのソースコードを提供することはできません。 グリーティングsymfonyプロジェクトの古い機能をリファクタリングする

答えて

0

再配布するパッケージを作成していない限り、バンドルはSymfony 3.4では廃止され、Symfony 4では無効になっています。

重要な場合は、別の名前空間でコードを区切ることをお勧めします。

Symfony 3.4以降のtwigテンプレートの場合は、プロジェクトディレクトリのルートにあるtemplates/ディレクトリに保存することができます。繰り返しますが、必要に応じて、異なる名前空間に対応する異なるサブディレクトリに格納することもできます。

は著者のブログを参照してください:CERADのコメントとして[EDIT] Symfony 4: Directory Structure | Articles - Fabien Potencier

を、私が間違っていました。バンドルは推奨されなくなりました。 New in Symfony 3.4: Deprecated bundle inheritance (Symfony Blog)

+0

いいえ、バンドルはどちらも3.4で減価償却もなく、S4で無効になっている:それは

がここに詳細を参照してくださいsymfonyの4にバンドルのSymfony 3.4で廃止され、継承して無効になっています。かなりの時間、アプリケーションコードをバンドルに分割しないことが推奨されていますが、デザインで呼び出されている場合でもそれを実行できます。 – Cerad

関連する問題