PHP-传递给foo的参数1必须是Bar的实例,给定字符串-如何自动调用ctor
我有以下代码:PHP-传递给foo的参数1必须是Bar的实例,给定字符串-如何自动调用ctor,php,casting,Php,Casting,我有以下代码: class Bar { public function __construct($s){ } public function __toString(){ return "something"; } } function foo(Bar $b){ } foo("xx"); 是否有可能隐式调用Barctor,例如在不显式调用newbar(“xx”)的情况下将“string”转换为Bar?我可以使用foo中的$b实例作为字符串,因为\uu to
class Bar {
public function __construct($s){
}
public function __toString(){
return "something";
}
}
function foo(Bar $b){
}
foo("xx");
是否有可能隐式调用
Bar
ctor,例如在不显式调用newbar(“xx”)
的情况下将“string”转换为Bar
?我可以使用foo中的$b
实例作为字符串,因为\uu toString
方法。我只需要在之前做一些处理,不想到处写newbar
类型提示的目的就是为了避免这种情况。如果您喜欢松散类型的函数调用,只需省略它,并使用函数foo($b){}
。类型提示确保您获得的数据是您期望的类型。如果希望函数将任何数据强制转换为所需的类型,请在自己的代码中执行$b=new Bar($b)
。