PHP 5类的新特性解析

PHP5 的对象模型改动挺大,不只是语法上更像 Java、C++那一挂,底层也彻底重写了,性能提了不少,写法也灵活了不少。如果你之前用的是 PHP4 那一套,用起来一开始不太习惯,但上手之后,真香。

类的构造函数统一用__construct,不再靠类名那一套,清爽不少。还有__destruct析构函数,内存回收更靠谱,尤其是文件或数据库连接时挺实用。

访问控制这块儿也补上了,支持publicprivateprotected,和 C++那套挺像的。以前都能随便访问,容易出事,现在总算能加点限制,写库的时候更放心。

对象是引用传递,这个变化可得留意。以前拷贝一个对象是复制,现在是指向同一个实例,操作一个另一个也跟着变。要做深拷贝,就得手动实现__clone方法。

还有instanceof判断对象类型、final防止类/方法被继承或重写,写框架的人应该挺爱这些小细节。

想更细看看,可以顺着这篇《PHP5 面向对象:类特性》再挖一下,讲得还挺系统的。

顺带一提,如果你对别的语言的对象模型也感兴趣,可以看看:

如果你还停留在 PHP4 那一套,建议赶紧上手试试 PHP5 的对象系统,封装性和扩展性都强不少,写起代码来也更有体系感。

php 文件大小:1.49KB