我需要将传递变量的类型定义为泛型对象,如何?
试过:
public function set($service = null, (object) $instance) {
[..]
}
可以stdClass
帮忙吗?如何?
谢谢!
不,在 php 中,所有类都不是从共同祖先派生的。
所以怀疑你可以使用当前 php 的实现来声明“任何类的对象”
不,对象必须是某个类。您可以将任何类名作为对象的类型
public function set($service = null, ClassName $instance) {
//now the instance HAS to be the object of the class
}
或者一个基本技巧是自己创建一个基本类
Class GenericObject {}
$myobj = new GenericObject();
$myobj -> myCustomVar = 'my custom var';
//Now send it
public function set($service = null, GenericObject $instance) {
[...]
}
加布里埃尔,
如果你想做的是检查变量是否是一个对象,你可以这样做:
public function set($service = null, $instance) {
if (!is_object($instance)) return null; //or whatever
[..]
}
你想阻止什么?通过您的声明,如果变量不是对象(它不会强制转换它),您将获得异常。