命名空间
命名空间:
一个脚本文件内允许多个同名的类、函数、常量。
命名空间的定义
namespace 空间名(命名规范)
作用:
创建一个空间(文件夹),此语句后的所有的代码,如果没有遇到其他的namespace时,全部在此空间内。
第1个namespace之前不能有任何代码。
子空间的创建
语法:
namespace 父空间\子空间
空间的访问:
非限定方式
访问的类、函数、常量前没有任何空间名与\
访问当前空间中的类、函数、常量
限定方式
空间名A\空间名B\内容(类、函数、常量)
访问的是当前空间中的子空间A中的子空间B中的内容
注意:
以上两种访问方式只能访问当前空间及子空间中的内容
完全限定
以\开头
访问的是从顶级空间(当前php脚本可以理解为顶级空间,任何一个namespace都是在当前顶级空间中的子空间),
可以在一个空间访问另一个空间中的内容。
空间的引入
如果引入的一个文件中又包含了一个空间,那么被包含的空间,放在顶级空间下,访问被引入的空间需要使用\
namespace 定义空间,还可以进行空间
如果空间名不存在,则是创建,如果存在则是进行
use
use 空间名;
对象保存:
数组、对象都是一个结构
序列化:就是将一个结构转换成字符串
$str = serialize(数组名或对象名);
反序列化:
unserialize($str);
如果对象涉及到资源的操作(不是php的),由php不能保存外部的资源(数据库连接,数据库结果集,文件连接)
function __wakeup(){
//运行时机,返回序列时自调用。
主要完成在对象序列化时,无法保存的资源信息,在返回序列化时,重新获取此资源,这样反序列化后的对象即可正确操作。
}