数码资讯
PHP中的类型约束介绍
PHP可以在类方法和函数中实现类型约束,但参数只能指定四种类型:类、数组、接口和可调用。默认情况下,参数可以为null,而PHP不能限制标量类型或其他类型。 以下示例如下: 复制代码代码如下所示: < PHP 类测试 { 公共功能test_array(数组arr) { print_r($ ARR);
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
PHP可以在类方法和函数中实现类型约束,但参数只能指定四种类型:类、数组、接口和可调用。默认情况下,参数可以为null,而PHP不能限制标量类型或其他类型。
以下示例如下:
复制代码代码如下所示:
< PHP
类测试
{
公共功能test_array(数组arr)
{
print_r($ ARR);
}
公共功能test_class(test1 $ test1 = null)
{
print_r($ test1);
}
公共函数(调用回调test_callable美元,美元的数据)
{
call_user_func(美元的回调,美元的数据);
}
公共功能test_interface(遍历迭代器美元)
{
print_r(get_class($迭代器));
}
公共功能test_class_with_null(test1 $ test1 = null)
{
}
}
类test1 { }
新测试();
参数类型参数与函数调用定义不一致,将抛出一个致命的错误即可被捕获。
为测试-> test_array(阵列(1));
为测试-> test_class(新test1());
为测试-> test_callable('print_r ',1);
为测试-> test_interface(新的数组对象(array()));
为测试-> test_class_with_null();
那么我们如何限制标量类型呢
PECL扩展库提供了SPL类型扩展的整数,浮点数,布尔型,枚举和字符串类型约束。
复制代码代码如下所示:
新夹板(94);
{试
为int = 'try投一个字符串值的乐趣;
} catch(unexpectedvalueexception $ UVE){
echo UVE -> GetMessage(php_eol);
}
php_eol echo int.;
*
运行结果:
值不是整数
九十四
* /
SPL类型会降低实际项目的灵活性和性能。
以下示例如下:
复制代码代码如下所示:
< PHP
类测试
{
公共功能test_array(数组arr)
{
print_r($ ARR);
}
公共功能test_class(test1 $ test1 = null)
{
print_r($ test1);
}
公共函数(调用回调test_callable美元,美元的数据)
{
call_user_func(美元的回调,美元的数据);
}
公共功能test_interface(遍历迭代器美元)
{
print_r(get_class($迭代器));
}
公共功能test_class_with_null(test1 $ test1 = null)
{
}
}
类test1 { }
新测试();
参数类型参数与函数调用定义不一致,将抛出一个致命的错误即可被捕获。
为测试-> test_array(阵列(1));
为测试-> test_class(新test1());
为测试-> test_callable('print_r ',1);
为测试-> test_interface(新的数组对象(array()));
为测试-> test_class_with_null();
那么我们如何限制标量类型呢
PECL扩展库提供了SPL类型扩展的整数,浮点数,布尔型,枚举和字符串类型约束。
复制代码代码如下所示:
新夹板(94);
{试
为int = 'try投一个字符串值的乐趣;
} catch(unexpectedvalueexception $ UVE){
echo UVE -> GetMessage(php_eol);
}
php_eol echo int.;
*
运行结果:
值不是整数
九十四
* /
SPL类型会降低实际项目的灵活性和性能。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。