2016-03-30 6 views
0

私はLaravelで作業を開始した後、PHPで 'namespace'というトピックに遭遇しました。ネームスペースを理解しようとすると、ネームスペースの下でクラスを拡張することがわかったので、そのクラスを現在のページに含める必要があります。次のように:laravelがそれらを含めずにクラスを拡張する方法

ディレクトリ '.. \先生\ Teacher.php'

namespace Teacher; 

    class Teacher{ 
     public $headTeacher='mr X'; 

    } 

に私は必要なcalssを拡張する名前空間

そのページなど 使用が含まれます

ディレクトリ '.. \ studnet \ student.php'

Laravelがどのように名前空間を使ってクラスを組み込むのか疑問に思っています。私は 'userController'というコントローラを作成する場合のように。ページの構造は

namespace App\Http\Controllers; 

class userController extends Controller{ 

} 

である彼らは、「コントローラ」クラスを保持しているPHPのページが含まれていません。しかし、彼らは何とかそれを拡張することができました。また、use Viewまたはuse Authコマンドを使用するだけで"View" ,"Auth"を使用できます。どうしたの?私が提供したコードでどのように実装することができますか?前もって感謝します。

+0

ほとんどのフレームワークは、オートローダーを使用するアプリケーションのルートパスにcomposer.jsonで見つけることができます。 – frz3993

+0

各リクエストの後ろに大きなプロセスがあります。たとえば、index.phpにアクセスすると、laravelは必要なすべてのクラスを読み込んで、人があなたと私のような人を手作業で含めずに使用できるようにします。ちょっと理解したいのであれば、この動作は "composer"という名前のツールを使って最初の "hello world"プロジェクトになります。 – manix

答えて

1

Laravelは、クラスのオートロードにcomposer.phpを使用します。 autoloadディレクトリ内のすべてのクラスがプリロードされます。したがって、ネームスペースを使用してアプリケーションのどこからでも使用できます。

Learn more about composer、作曲の設定は

関連する問題