PHP类型约束

PHP类型约束

从php5开始function的参数可以指定为对象,接口,数组,callalbe(从php5.4开始)不过如果使用 null作为参数的默认值,那么在调用函数的时候依然可以使用 null作为实参。如果一个类或接口指定了类型约束,则其所有的子类或实现也都如此。约束类型不可以用用在stirng int trait类型。

函数调用的参数与给定的约束不一致会抛出致命异常。

class demo
{
    public function array_demo(array $array)
    {
        print_r($array);
    }

    public function obj_demo(demoClass $obj = null) 
    {
        print_r($obj);
    }

    public function interface_demo(demoInterface $obj)
    {
        $obj->eat();
    }

    public function callable_demo(callable $callback, $data)
    {
        call_user_func($callback, $data);
    }
}

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据