Rumah  >  Artikel  >  pembangunan bahagian belakang  >  【php类与对象】类型约束

【php类与对象】类型约束

不言
不言asal
2018-04-17 10:09:101354semak imbas

这篇文章介绍的内容是关于【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 = &#39;Hello World&#39;;
}
?>

相关推荐:

【php类与对象】对象复制

【php类与对象】魔术方法

【php类与对象】遍历

Atas ialah kandungan terperinci 【php类与对象】类型约束 . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn