在NetBeans中我们可以做如下的类型转换-
/**
*
* @var My_Db_Table_Abstract
*/
protected $_db;
但是在我的例子中,变量$_db
可能是不同类的实例,因为它的值是像下面这样动态分配的。
public function __construct($db) {
$this->_db = $db;
}
有可能使类型(这里是My_Db_Table_Abstract
)是动态的吗?
您应该在构造函数的参数中使用PHP的类型提示特性,以保证传入的是您所需类型的对象。
public function __construct (My_Db_Table_Abstract $db) {
$this->_db = $db;
}
这将防止你传入任何东西,除了My_Db_Table_Abstract或My_Db_Table_Abstract的子类到你的构造函数。