PHP的类型约束
来源:互联网 发布:网络环境搭建 编辑:程序博客网 时间:2024/06/14 00:29
PHP 5 之后可以使用类型约束。方法/函数的参数可以指定为某个类的对象、接口、数组(PHP 5.1 起)或者 callable(PHP 5.4 起)。不过如果使用 NULL 作为参数的默认值,那么在调用函数的时候依然可以使用 NULL 作为实参。
注意:类型约束不能用于标量类型如 int 或 string,Traits 也不允许。
如何使用类型约束:
<?phpclass 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); }}?>
除了类的方法以外,类型约束也可以在函数中使用:
/** * 测试函数 * 第一个参数必须是 MyClass 类的一个对象 */function MyFunction (MyClass $foo) { echo $foo->var;}
在调用使用了类型约束的方法或者函数时,如果参数类型不对,则会抛出一个可捕获的致命异常:
类型约束可以使用默认值,但默认值的数据类型只能是类型约束本身或者NULL:
<?php// 接受NULL值function test_hint(array $var = null) {var_dump($var);}test_hint(null);test_hint(array("hello"));?>
本文大部分内容转载自:http://php.net/manual/zh/language.oop5.typehinting.php
0 0
- PHP的类型约束
- 浅谈PHP的类型约束
- 80. PHP 类型约束
- PHP之类型约束
- php类型约束
- PHP之类型约束
- PHP中的类型约束介绍
- 完整性约束的类型
- PHP面向对象_类型约束
- NET的类型参数约束
- c#类型参数的约束
- php自定义函数指定参数类型 [类型约束]
- 类型约束
- 类型约束
- 类型约束
- c# 泛型中类型参数约束 之 主约束的解读
- 泛型类型参数的约束
- c#-泛型-类型参数的约束
- ant 报错 Unable to locate tools.jar.
- 外媒:中国手机品牌欲以低价策略攻占印度市场
- kmp
- Spring4.0MVC学习资料,Controller中的方法详解和使用(四)
- hd1879继续畅通工程【最小生成树】
- PHP的类型约束
- Windows Server 2003 自带IIS FTP 安装说明
- 关于一些Android课程资料
- Linux下安装Redmine
- 一个软件程序BIOS定制要多长时间
- OC之初始类和对象
- P2P网贷谋求“去担保”:引入保险 收益下滑
- 定制iOS 7中的导航栏和状态栏
- hive 查询执行分析