Domanda

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

Sto parlando del primo parametro (non è il parametro BTW) sembra un tipo di dati?che cos'è ?costante ?Incontro questo quando cerchi di sviluppare un'app in zend framework 2

È stato utile?

Soluzione

Questo è HING TIPO PHP .Significa che il primo parametro a questa funzione - $albumTable - deve essere un'istanza della classe AlbumTable o una classe che eredita da esso.

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
.

Altri suggerimenti

Il pezzo di codice che stai mostrando è un esempio di iniezione di dipendenza tramite il metodo Setter.Il setter è superato un'istanza di albumtable e assegna questa istanza a un campo di classe.

Il tuo metodo è passato solo un parametro: $albumTable.

The AlbumTable Prima che il parametro sia un Tipo suggerimento eAssicura che solo un'istanza di albumtable o una classe derivante possa essere passata al setter.

Forza il parametro effettivo ($ albumtable) per essere un'istanza di classe di albumtable.PHP darà un errore irreversibile se qualsiasi altra cosa venga passata alla funzione.

Questo è utile in modo da non dover controllare quale tipo di variabile / oggetto ricevuto per utilizzare le sue funzioni e proprietà.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top