这篇文章介绍的内容是关于【php类与对象】类型约束 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
类型约束
php 5 可以使用类型约束。
函数的参数可以指定必须为:
对象(在函数原型里面指定类的名字)
接口
数组(php 5.1 )
callable(php 5.4 )
如果使用 null 作为参数的默认值,那么在调用函数的时候依然可以使用 null 作为实参。
如果一个类或接口指定了类型约束,则其所有的子类或实现也都如此。
类型约束不能用于标量类型如 int 或 string。traits 也不允许。
example #1 类型约束示例
<?php//如下面的类class myclass
{ /**
* 测试函数
* 第一个参数必须为 otherclass 类的一个对象
*/
public function test(otherclass $otherclass) {
echo $otherclass->var;
} /**
* 另一个测试函数
* 第一个参数必须为数组
*/
public function test_array(array $input_array) {
print_r($input_array);
}
} /**
* 第一个参数必须为递归类型
*/
public function test_interface(traversable $iterator) {
echo get_class($iterator);
} /**
* 第一个参数必须为回调类型
*/
public function test_callable(callable $callback, $data) {
call_user_func($callback, $data);
}
}// otherclass 类定义class otherclass { public $var = 'hello world';
}
?>
相关推荐:
【php类与对象】对象复制
【php类与对象】魔术方法
【php类与对象】遍历
以上就是【php类与对象】类型约束 的详细内容。