PHP通过类和方法等语言结构支持面向对象编程。
同时也通过对象相关的函数和内置类为OOP提供广泛支持。
用于组织、测试和 操作对象及类的工具和技术:
包:将代码按逻辑分类打包。
命名空间:从PHP5.3开始,可以将代码元素封装在独立的单元中。
包含路径:为你的类库代码设置访问路径。
类函数和对象函数:测试对象、类、属性和方法的函数。
反射API:Reflection API,一组强大的内置类,可以在代码运行时访问类信息。
包是一组相关类的集合。这些类以某种方式组合在一起。包可以把系统的一部分和其他部分分隔开来。一些程序语言支持包并为它们提供不同的命名空间。
PHP现在还没有包的概念,但是开发人员却一直在使用文件系统和命名模式将代码组织成类似包的结构。
php5.3之前,开发人员必须在全局上下文中命名文件。————即:如果你将一个类命名为ShopBasket,那么这个类在整个系统中立即可用。
-------一个问题是可能导致命名冲突:
可以将包名放到类名的前面,组合新的类名来保证唯一性。--又出现新问题:影响代码的可读性,此外输入错误也会浪费总体的编码时间。
命名空间救场:
命名空间是语言的一部分,从本质上讲,命名空间是一个容器,可以将类、函数和变量放在其中。在命名空间中,你可以无条件的访问这些项。在命名空间之外,必须导入或引用命名空间,才能访问它所包含的项。
namespace my; //创建命名空间。
use my;//使用命名空间