Zend framework2 这是ZF2常量变量还是数据类型
我说的第一个参数(顺便说一句,它不是参数)看起来像数据类型?它是什么?常数我在zend framework 2中尝试开发应用程序时遇到了这种情况。这意味着此函数的第一个参数-Zend framework2 这是ZF2常量变量还是数据类型,zend-framework2,Zend Framework2,我说的第一个参数(顺便说一句,它不是参数)看起来像数据类型?它是什么?常数我在zend framework 2中尝试开发应用程序时遇到了这种情况。这意味着此函数的第一个参数-$albumTable-必须是albumTable类的实例或从中继承的类 public function setAlbumTable(AlbumTable $albumTable) { $this->albumTable = $albumTable; return $this; } 它强制实际参数($albumTab
$albumTable
-必须是albumTable
类的实例或从中继承的类
public function setAlbumTable(AlbumTable $albumTable)
{
$this->albumTable = $albumTable;
return $this;
}
它强制实际参数($albumTable)成为albumTable类的实例。如果将任何其他内容传递给函数,PHP将给出一个致命错误
这很有用,因此您不必检查收到的变量/对象的类型以利用其函数和属性。您正在展示的代码是通过setter方法进行依赖项注入的示例。setter被传递给AlbumTable的一个实例,并将该实例分配给一个类字段 您的方法只传递了一个参数:
$albumTable
参数前的AlbumTable
为,确保只能将AlbumTable的实例或派生类传递给setter
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