2017-01-17 7 views
0

私は、ネームスペースがそのファイルのパスを表すべきであるということを知りました。ファイルがサブディレクトリ "モデル" にある場合には、use-operatorの後に既存のディレクトリがありません

      • モデル

名前空間のように、この場合には、意味します次のとおりです。namespace vehicles\cars\models;

今、私はこのようになりsymfonyの3の例があります。

use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 

私はこれらの名前空間が中に配置されている場所を把握したい「のSymfony」と「Sensio」私は両方で見つけることができるでしょう。ディレクトリ "vendor"。たとえば、 "Symfony"のパスに従えば、 "Bundle"は見つかりません。または "Sensio"に従うと、 "Bundle"というフォルダもありません。

Symfonyは基準を気にしないか、それがどういう仕組みか理解できていないからですか?私はそれが第2のものであることを望む。

誰かが私にそれを説明できることを願っています。私は理解できます。

答えて

2

symfonyはsymfony/symfony/src/Symfonyフォルダに対応するより複雑なファイル構造を持っていますので、Symfony\Bundle\FrameworkBundle\Controller\Controllerを探しているならばBundle/FrameworkBundleが見つかります。あなたが本当にベンダーバンドルへのパスを見つけることができない場合

一方、ほとんどのベンダーは、名前空間は、例えばSensio\Bundle\FrameworkExtraBundle\Configuration\Route

のような正確なフォルダ構造に対応バンドルのために、あなたは常にvendor/composer/autoload_namespaces.phpに探して試すことができますし、 autoload_psr4.php .This作曲は、プロジェクトのディレクトリと名前空間との対応を定義するところ

+0

に役立つことを願っています

で役立ったこと、ありがとうございます。特に、両方のphpファイルがロジックを説明しています。 –

+0

あなたは歓迎です。ハッピープログラミング – Mawcel

関連する問題