私には奇妙なことがあります。それはSymfony Controllerにありますが、私はそれが重要だとは思わない。もちろんPHP/Symfony2、1つのファイルに2つのクラスがあります。
class ExportType
{
const EXPORT_WORLDWIDE = 1;
const EXPORT_EU = 2;
}
がトップに1つだけの名前空間があります:コントローラファイルでは、次のコントローラクラスに私はより明確にクエリ内のいくつかのことを保つためにconstsとシンプルな「クラス」を作成しました。これらの定数は、コントローラのアクションの1つで使用されます。
PhpStormのコード自動フォーマットを使用するたびに、そのクラスはファイルの先頭に移動されます。 OK、PhpStormはここでエラーを報告しません。しかし、PHP(またはSymfony?)のように、ヘルパークラスがトップになるたびに、クラスがこの名前空間に存在しないと言ってFileLoaderLoadException
が投げられるので、それは気に入らないようです。
下部にあるときは問題ありません。それは普通ですか?使用されたクラスは、それを使用しているクラスの後で宣言する必要がありますか?
愚かな質問:なぜこれらのクラスを他のファイルに移動しないのですか?つまり、それらを同じファイルに保存する利点は何ですか? Secondoばかげた質問:symfonyを使うので、 'parameters.yml'ファイルや環境ファイルを利用してそのような定数を定義するのはなぜですか?こうすることで、すべてのアプリケーションを通じてそれらを取得できます。 – DonCallisto
ヘルパークラスを使用するコントローラメソッドコードの関連部分を表示してください。名前空間の問題がある可能性があります。私はいつもこのようなことをして、問題に気付かなかった。 – Cerad