abstract:一、Trait特性* Trait 代码复用机制* Trait 可以给当前类添加一些新的特征(功能)* 如果一个类中要添加新的功能, 不具备形成一个类, 或不方便用类进行整理, 使用Trait更方便* Trait 类似于类中的插件, 可在不修改父类的情况下, 扩展当前类的功能;* Trait 工作在父类(如果有)与当前类之间, 可
一、Trait特性
* Trait 代码复用机制
* Trait 可以给当前类添加一些新的特征(功能)
* 如果一个类中要添加新的功能, 不具备形成一个类, 或不方便用类进行整理, 使用Trait更方便
* Trait 类似于类中的插件, 可在不修改父类的情况下, 扩展当前类的功能;
* Trait 工作在父类(如果有)与当前类之间, 可以重载父类同名成员
* 尽管类中的语法适用于声明Trait类, 但Trait并非常规类, 不允许直接实例化
* Trait使用use关键字将自身代码插入到当前的宿主类中
* 当Trait类中的成员与用户类中的成员命名冲突时,可以通过替换或别名解决
二、命名空间的基本知识
* 定义命名空间 namespace 空间名称
* 命名空间主体 类/接口,函数,常量
* 命名空间魔术常量 __NAMESPACE__
* 引用命名空间 namespace/空间 [类似于self]
*
三、如果声明多个命名空间
* 在一个脚本中可以同时声明多个命名空间
* 使用大括号语法: namespace 空间名称 { //空间代码 }
* 全局空间的名称为空: namespace { //全局空间代码 }
*
四、如何导入命名空间
* 非限定名称: 适用当前空间成员, 类似于当前路径;
* 限定名称: 与当前空间关联的空间, 类似于相对路径;
* 完全限定名称: 导入外部空间, 类似于绝对路径;
* 导入空间使用关键字: use
* 如果与当前类命名冲突, 可以通过设置替换规则或别名解决;
* 导入空间名称并不会自动加载类文件, 需要手工加载或自定义加载机制;
Correcting teacher:韦小宝Correction time:2018-11-21 15:53:21
Teacher's summary:嗯!不错!总结的很到位!课后还记得多多练习啊!