是否可以从函数返回特定的类型类?
class barCl {
function _construct() {
}
}
function fooBar() {
return (barCl) new barCl;
//^^^^^^^
}
答案 0 :(得分:4)
返回类型刚被PHP 7接受。返回类型是函数声明的一部分,而不是它的定义。除非您正在制作抽象功能或界面,否则不会产生太大的影响。
将您的代码与in that RFC结合起来,您可以:
class barCl {
function _construct() {
}
}
function fooBar(): barC1 {
return new barCl;
}
在7之前的php版本中,无法严格声明可调用的返回类型。
答案 1 :(得分:0)
正如你已经这样做,你可以像这样投射:
(要在php中显式设置变量的类型是不可能的!你也不能将你的变量转换为你的Object类型!你可以做的最近的转换是(object)
return (object) $xyObj;
您可以阅读有关PHP类型杂耍的更多信息:http://php.net/manual/en/language.types.type-juggling.php
从那里引用:
变量的类型由使用变量的上下文决定
供参考:
你在构造函数中错过了一个下划线:
function _construct() {
//^ Here you need 2x _ as all magic methods do
}