質問

public function setAlbumTable(AlbumTable $albumTable)
{
$this->albumTable = $albumTable;
return $this;
}
.

私は最初のパラメータについて話しています(パラメータBTWではありません)データ型のように見えますか?それは何ですか ?絶え間ない ?Zend Framework 2 でアプリを開発しようとしているとき、私はこれに遭遇します

役に立ちましたか?

解決

これは phpの型ヒント。これは、この関数の最初のパラメータ - $albumTable - AlbumTableクラスのインスタンスまたはそれから継承するクラスでなければなりません。

class Car {}

class BlueCar extends Car {}

function drive_the_car(Car $car) {}

drive_the_car(42); // error, first parameter must be an instance of Car

drive_the_car(new stdClass()); // error

drive_the_car(new Car()); // works

drive_the_car(new BlueCar()); // works
.

他のヒント

あなたが示すコードの一部は、設定方法による依存噴射の例です。セッターはアルバムテーブルのインスタンスを渡し、このインスタンスをクラスフィールドに割り当てます。

あなたの方法は1つのパラメータのみに渡されます:$albumTable

Parameters以前のAlbumTableタイプHINT とAlbumTableまたは派生クラスのインスタンスのみを設定して、セッターに渡すことができます。

実際のパラメータ($ albumtable)をアルバムテーブルクラスのインスタンスに強制します。他のものが関数に渡されると、PHPは致命的なエラーを与えます。

これは便利で、それが機能とプロパティを利用するためにあなたが受け取った変数/オブジェクトの種類を確認する必要がないので、

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top