首页 / PHP / php5类型约束学习笔记_PHP教程
php5类型约束学习笔记_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php5类型约束学习笔记_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4447字,纯文字阅读大概需要7分钟。
内容图文
php是一种弱类型的编程语言。在php程序中,变量的数据类型可以随着其值的不同而自动发生改变,php也不会对变量的数据类型进行强制检查或约束我们可以参考下面一个简单的代码示例:
代码如下 | |
class Person { $a = 1; //此时,$a为整数类型型(Integer)
|
对应的运行效果如下图所示:
php弱数据类型的特点使得php使用起来显得简单而灵活。不过,这同样也是一把达摩克利斯之剑。也正是由于php弱数据类型的特点,在编写php程序代码时,开发人员更需要时刻注意变量数据类型的变化,尤其是变量作为函数的参数进行传递时,更需要注意这一点。毕竟,大多数的函数参数都只期望是某种特定的数据类型。例如,在下面的例子中,函数sayHi()期望接收的参数类型是Person对象类型,但是,由于php并不是强类型的语言,也不会强制检查变量的类型,因此我们可以向函数中传递任意类型的参数,从而导致程序报错或逻辑出现异常。
代码如下 | |
class Person { function sayHi($person){ $p = '张三'; |
从php 5开始,我们就可以使用新增的类型约束机制来对函数参数的部分数据类型进行类型约束。同样以上面的代码为例,我们可以在编写sayHi()函数时要求传递进来的参数必须是Person对象类型,否则引发致命错误(Fatal Error),并终止当前页面脚本的运行。要使用php的类型约束机制非常简单,我们只需要在函数声明的参数变量前添加指定的类型名称即可。当我们调用该函数时,php会强制检查函数的参数是否为指定的类型,如果不是指定的类型则引发致命错误。
代码如下 | |
class Person { function sayHi(Person $person){ $person = '张三'; |
值得注意的是,在php 5中,目前只有对象、接口、数组、callable类型的参数变量才能使用类型约束(数组类型是从php 5.1版本开始支持的,callable类型是从php 5.4版本开始支持的)。
注意:如果使用类型约束的参数变量没有声明其默认值为null,调用该函数时就不能给对应的参数变量传递null值,否则同样也会报错。
类型约束不能用于标量类型如 int 或 string。Traits 也不允许。
Example #1 类型约束示例
代码如下 | |
//如下面的类
/** // OtherClass 类定义 |
函数调用的参数与定义的参数类型不一致时,会抛出一个可捕获的致命错误。
代码如下 | |
// 两个类的对象 // 致命错误:第一个参数必须是 OtherClass 类的一个对象 // 致命错误:第一个参数必须为 OtherClass 类的一个实例 // 致命错误:第一个参数不能为 null // 正确:输出 Hello World // 致命错误:第一个参数必须为数组 // 正确:输出数组 // 正确:输出 ArrayObject // 正确:输出 int(1) |
类型约束不只是用在类的成员函数里,也能使用在函数里:
代码如下 | |
// 如下面的类 /** // 正确
/* 接受 NULL 值 */ } test(NULL); ?> |
http://www.bkjia.com/PHPjc/632617.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632617.htmlTechArticlephp是一种弱类型的编程语言。在php程序中,变量的数据类型可以随着其值的不同而自动发生改变,php也不会对变量的数据类型进行强制检查...
内容总结
以上是互联网集市为您收集整理的php5类型约束学习笔记_PHP教程全部内容,希望文章能够帮你解决php5类型约束学习笔记_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。