您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP中的类型约束介绍,PHP类型约束介绍_PHP教程

2025/11/20 8:33:00发布25次查看
php中的类型约束介绍,php类型约束介绍php的类方法和函数中可实现类型约束,但参数只能指定类、数组、接口、callable 四种类型,参数可默认为null,php并不能约束标量类型或其它类型。
如下示例:
复制代码 代码如下:
class test
{
    public function test_array(array $arr)
    {
        print_r($arr);
    }
public function test_class(test1 $test1 = null)
    {
        print_r($test1);
    }
public function test_callable(callable $callback, $data)
    {
        call_user_func($callback, $data);
    }
public function test_interface(traversable $iterator)
    {
        print_r(get_class($iterator));
    }
public function test_class_with_null(test1 $test1 = null)
    {
}
}
class test1{}
$test = new test();
//函数调用的参数与定义的参数类型不一致时,会抛出一个可捕获的致命错误。
$test->test_array(array(1));
$test->test_class(new test1());
$test->test_callable('print_r', 1);
$test->test_interface(new arrayobject(array()));
$test->test_class_with_null();
那么对于标量类型如何约束呢?
pecl扩展库中提供了spl types扩展实现interger、float、bool、enum、string类型约束。
复制代码 代码如下:
$int  = new  splint ( 94 );
try {
     $int  =  'try to cast a string value for fun' ;
} catch ( unexpectedvalueexception $uve ) {
    echo  $uve -> getmessage () .  php_eol ;
}
echo  $int  .  php_eol ;
/*
运行结果:
value not an integer
94
*/
spl types会降低一定的灵活性和性能,实际项目中三思而行。
http://www.bkjia.com/phpjc/997904.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/997904.htmltecharticlephp中的类型约束介绍,php类型约束介绍 php的类方法和函数中可实现类型约束,但参数只能指定类、数组、接口、callable 四种类型,参数可默...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product