PHP笔记(类型提示)

PHP5引入了类的类型提示(type hint),要增加一个方法参数的类型提示,只需简单地将类名放在需要约束的方法参数之前。

例:public function write(ShopProduct $shopProduct){ //…}    其中,ShopProduct 是一个类。

注:虽然自动类型检查是防止bug的极佳途径,但我们要知道类型提示是在运行时才生效的。也就是说,类型提示只有在错误的对象被传递给方法时才会报错。

 

强调:类型提示不能用于强制规定参数为某种基本数据类型,比如字符串和整型。如果要处理基本数据类型,在方法体中要使用is_integer()这样的类型检查函数。但你可以强制规定使用数组作为参数。这被称为数组提示:

function setArray(array $storeArray){  $this->array = $storeArray; }

在PHP5.1中加入了对数组提示的支持,另外还新增了对null 默认值的参数提示,即可以指定参数为一个特定值或 null 值。如:function setWrite( ObjectWriter $objwriter = null)    {  $this->writer = $objwriter; }

附录:基本类型和PHP的类型检查函数:

基本类型和PHP的类型检查函数

 

上表列出了PHP中认可的基本类型以及它们所对应的测试函数。每个函数接受一个变量或值,如果参数是相应的类型,则返回true.

                           ——摘抄自《深入PHP 面向对象、模式与实践(第2版)》/ 《PHP Objects,Patterns,and Practice (Second Edition)》Matt Zandstra 著    陈浩 吴孙滨  胡丹  译

发表评论