私はSensioLabs Insightを使用してコード品質を制御します。symfonyで絶対パス定数__DIR__と__FILE__を使用しないでください
単純なファイルのアップロードについては、私は私のアップロードディレクトリの絶対パスを取得する必要があります。直接、公式ドキュメントから来る
protected function getUploadRootDir()
{
// the absolute directory path where uploaded
return __DIR__.'/../../../../web/'.$this->getUploadDir();
}
コード(How to handle file uploads with Doctrine)
しかしSLInsightは、コードの場合、警告を発生させます分析さ__DIR__
または__FILE__
PHPの魔法の定数が含まれています
__DIR__
と__FILE__
定数がSymfonyリソースオーバーライドシステムと競合する可能性があります。この定数の使用量がsymfonyで競合が発生することができますどのように
?
そして、どのように私は私のコードでそれらを避けることができますか?
タイトルは誤解を招くです。 **絶対パス定数 '__FILE__'と' __DIR__'を一般的に使用することが推奨されています**。 Symfonyのファイルロケータは、プロジェクトでSymfony(またはファイルロケータ)*を使用する場合にのみ使用してください*。 – axiac
右に更新しました。正直に言うと、あなたに – chalasr
をありがとう、私はそのコードを見たら、私の反応は「より良い方法があるように持っている」ことになります。あなたは、あなたが望むパスがちょうど4レベル上であることをハードコーディングしています。そして、「ウェブ」と呼ばれるディレクトリ、そしてダイナミックなセグメントです。それは非常に壊れやすく、柔軟性がないように見えます。確かに、この全体のパスは、特定のベースに対してどこかで設定する必要があります。 – IMSoP