Это постоянная переменная ZF2 или тип данных - PullRequest
0 голосов
/ 10 марта 2012
public function setAlbumTable(AlbumTable $albumTable)
{
$this->albumTable = $albumTable;
return $this;
}

Я говорю о том, что первый параметр (это не параметр btw) выглядит как тип данных?что это ?постоянный?Я сталкиваюсь с этим, когда пытаюсь разработать приложение в Zend Framework 2

Ответы [ 3 ]

1 голос
/ 10 марта 2012

Кусок кода, который вы показываете, является примером внедрения зависимости через метод setter. Установщик передает экземпляр AlbumTable и присваивает этот экземпляр полю класса.

Ваш метод передается ТОЛЬКО ОДИН параметр: $albumTable.

AlbumTable перед параметром является подсказкой типа и гарантирует, что в установщик может быть передан только экземпляр AlbumTable или производный класс.

1 голос
/ 10 марта 2012

Это подсказка типа 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
0 голосов
/ 10 марта 2012

Это заставляет фактический параметр ($ albumTable) быть экземпляром класса AlbumTable. PHP выдаст фатальную ошибку, если что-то еще будет передано функции.

Это полезно, так что вам не нужно проверять, какой тип переменной / объекта вы получили, чтобы использовать его функции и свойства.

...