第十三章 迁移 读后感
时间:2008-01-26
来源:互联网
刚才仔细的读了下,本张主要讲述了php版本4、5的兼容性。本书很细致的提到了版本控制时注意到的问题,让phper对配置文件有了更深入的了解,同时更灵活的运用了面向对象的特性,在开发中节省了大量的时间。真是受益匪浅。
在这里把我这章学到的写下:
1。传递对象
php4传递对象引用要用“&”符号,php5中只需要敷值就可以了,而不在是php4中的对象考贝。体现了php5的新特性。
2.访问控制
php4中完全是public,这样类中的属性、方法会完全公开,没有限制,phper使用时候很可能使用错误的方法或访问应当为 私有 成员变量的代码。php5中多个protect private.更好的封装了类。
3. 对象的转换计算 Casting Objects
在PHP 4中,如果对象有属性时,(int) $object将得到1,或者对象没有属性时得到0。这个特性在PHP 5中不再支持了,所以(int) $object总是产生结果1
4.对象比较 Comparing Objects
当你用==运算符比较对象时,在PHP 5中的结果将会发生改变。在PHP 4中,如果所有对象的属性都是一样的,对象的比较将返回true。在PHP 5中,相等运算符只是在对象真的一样时才返回true,也就是说它们要有相同的对象句柄。
5.当你在PHP 4中使用一个类中的一行代码把一个值赋值给$this时,根据一个选项、一个类被选中并且返回一个新创建的类的实例,赋值一个新的对象给$this在PHP 5中是不可行的
6.所有PHP 4总是用小写字母返回类的名字,但是在PHP 5中,get_class()函数返回的是保持大小写不变的类的名字
7.var和public var And public
使用var来设定一个对象的属性现在不再支持。推荐使用public。使用var而不是public的话将抛出E_STRICT的错误“var:Deprecated. Please use the public/private/protected modifiers”。如果你的代码还需要在PHP 4中运行的话,你可以安全地忽略这个“错误”。
8.通过PHP 5,一个新的“统一的”构造函数的风格被引入:__construct()。
9.在使用之前定义类 Define Classes Before Usage
最好在代码中开始使用类之前就声明你的类――例如,在一个包含文件中。虽然它不总是必须的,但是当你在使用PHP 5的高级的更多面向对象的特性时,你需要在使用类之前就声明它,例如接口
10.PHP的解析器更改了脚本中注释解析的方法。这个改变可以解析PHPDoc(指导语言)的注释(/** */)。
11.array_merge()
这个函数不再接收一个非数组的参数作为它的参数之一。在PHP 4中,它可以完全地使用标量类型,例如一个整型或者字符串(但是一个表现为“null”的变量除外),作为参数。这些类型都可以方便地作为一个元素包含到结果的数组中。PHP 5不再支持这个功能。如果你使用了一个标量类型,PHP 5将产生一个E_WARNING类型的错误并且返回一个空的数组。
12. strrpos()和strripos() strrpos() And strripos()
strrpos()和strripos()都是查找一个字符串在另外一个字符串中最后出现的位置,分别使用的是大小敏感和大小写不敏感的方式。在PHP 5中,在字符串中查找的是完整的$needle,而且是从后面开始查找,而在PHP 4中只查找这个$needle字符串的第一个字母
[ 本帖最后由 whchao001 于 2008-1-25 23:39 编辑 ]
在这里把我这章学到的写下:
1。传递对象
php4传递对象引用要用“&”符号,php5中只需要敷值就可以了,而不在是php4中的对象考贝。体现了php5的新特性。
2.访问控制
php4中完全是public,这样类中的属性、方法会完全公开,没有限制,phper使用时候很可能使用错误的方法或访问应当为 私有 成员变量的代码。php5中多个protect private.更好的封装了类。
3. 对象的转换计算 Casting Objects
在PHP 4中,如果对象有属性时,(int) $object将得到1,或者对象没有属性时得到0。这个特性在PHP 5中不再支持了,所以(int) $object总是产生结果1
4.对象比较 Comparing Objects
当你用==运算符比较对象时,在PHP 5中的结果将会发生改变。在PHP 4中,如果所有对象的属性都是一样的,对象的比较将返回true。在PHP 5中,相等运算符只是在对象真的一样时才返回true,也就是说它们要有相同的对象句柄。
5.当你在PHP 4中使用一个类中的一行代码把一个值赋值给$this时,根据一个选项、一个类被选中并且返回一个新创建的类的实例,赋值一个新的对象给$this在PHP 5中是不可行的
6.所有PHP 4总是用小写字母返回类的名字,但是在PHP 5中,get_class()函数返回的是保持大小写不变的类的名字
7.var和public var And public
使用var来设定一个对象的属性现在不再支持。推荐使用public。使用var而不是public的话将抛出E_STRICT的错误“var:Deprecated. Please use the public/private/protected modifiers”。如果你的代码还需要在PHP 4中运行的话,你可以安全地忽略这个“错误”。
8.通过PHP 5,一个新的“统一的”构造函数的风格被引入:__construct()。
9.在使用之前定义类 Define Classes Before Usage
最好在代码中开始使用类之前就声明你的类――例如,在一个包含文件中。虽然它不总是必须的,但是当你在使用PHP 5的高级的更多面向对象的特性时,你需要在使用类之前就声明它,例如接口
10.PHP的解析器更改了脚本中注释解析的方法。这个改变可以解析PHPDoc(指导语言)的注释(/** */)。
11.array_merge()
这个函数不再接收一个非数组的参数作为它的参数之一。在PHP 4中,它可以完全地使用标量类型,例如一个整型或者字符串(但是一个表现为“null”的变量除外),作为参数。这些类型都可以方便地作为一个元素包含到结果的数组中。PHP 5不再支持这个功能。如果你使用了一个标量类型,PHP 5将产生一个E_WARNING类型的错误并且返回一个空的数组。
12. strrpos()和strripos() strrpos() And strripos()
strrpos()和strripos()都是查找一个字符串在另外一个字符串中最后出现的位置,分别使用的是大小敏感和大小写不敏感的方式。在PHP 5中,在字符串中查找的是完整的$needle,而且是从后面开始查找,而在PHP 4中只查找这个$needle字符串的第一个字母
[ 本帖最后由 whchao001 于 2008-1-25 23:39 编辑 ]
作者: whchao001 发布时间: 2008-01-25
自已顶下
作者: whchao001 发布时间: 2008-01-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28