2016-06-01 16 views
-4

私はこのコードをlarevelで検出しました。以下の名前のない関数を持つPHP __construct

public function __construct(
    Request $request, 
    UserRepository $userRepository, 
    ProfileRepository $profileRepository 
) 

{ 
    parent::__construct(); 

    $this->request = $request; 
    $this->profile_repository = $profileRepository; 
    $this->model = $this->model_repository->getModel(); 
    $this->entity_name_plural = str_plural($this->entity_name); 

} 

コンストラクタの下に名前のない関数を使用するとは何ですか?これは私がこれに遭遇した初めてのことなので、どのように実際に動作するのか分かりません。お返事をありがとうございます。

+0

どういう意味ですか? __construct()関数を1つだけ公開しました.3つの引数をとります(複数の行に分かれていますが)。親の呼び出しを参照している場合、それは単に "これが継承するクラスのコンストラクタを呼び出す"ことを意味します。 –

+0

メソッドのシグネチャは、メソッド本体から空白行で区切られます。 「名前のない関数」はありません。 – GordonM

答えて

2

この関数はちょっと変わった書式です。

public function __construct(Request $request, UserRepository $userRepository, ProfileRepository $profileRepository) 
{ 
    parent::__construct(); 

    $this->request = $request; 
    $this->profile_repository = $profileRepository; 
    $this->model = $this->model_repository->getModel(); 
    $this->entity_name_plural = str_plural($this->entity_name); 

} 

parent::__construct();は、親クラスのコンストラクタを呼び出して読み込む行:それはちょうど、コンストラクタで、あなたはおそらくそれが良いこのようにフォーマットを認識することができます。

+0

私は参照してください。ありがとう。私はちょうどそれがフォーマットされた方法と混同されました。 – banri16

+0

問題はない、我々はここに助けている。 :) 今後の質問については、必ず回答を受け入れることを検討してください。 – Jerodev

2
parent::__construct(); 

この関数は、ベースコントローラのconstructメソッドを呼び出します。あなたによって広がる

2

コンストラクタの下に名前のない関数を使用するとは何ですか?

あなたが作業しているクラスには、そのプロパティのいくつかを継承する親クラスがあります。&ビヘイビア(メソッド)。単独;現在のクラスは、プログラムのスムーズな実行に必要な初期作業を行うことができない場合があります。そして;このため初期化前の- 時々必要があり、コール:

parent::__construct(); 

は、暗黙のうちに親クラスを伝えます:ちょっとおい!私は自分自身の固有のオブジェクトを作成しようとしていますが、最初はそれを作成します。私はあなたが私のための道を整理し、私が入る前に必要な初期化を実行する必要があります....それは本質的に多かれ少なかれその部分は&と言うことです。

+0

詳細を説明していただきありがとうございます。 – banri16

関連する問題