慕课网----大话PHP设计模式 一(命名空间,类的自动加载,PSR-0)
来源:互联网 发布:python抓BING图片 编辑:程序博客网 时间:2024/05/18 20:07
1.如果是相同的命名空间,就不能创建相同名字的类和函数了。会产生命名冲突。
2.调用对应命名空间的方法,先用require来引入,然后用Test1\test()的方式来引用。
3.类的自动载入:代码如下,这是被废弃的版本,因为可能一个php项目会有多个框架,然后都用__autoload
的话,会导致命名冲突。但这个也是不错的方法。 __DIR__
这个魔法变量是获取当前的目录,然后当程序里面调用对应的类的时候,发现没有引入过这个类的话,就会去吧这个类的名字传到__autoload这个方法里面,如这个例子的话,传来的$class参数是Test1或者Test2。然后加上.php的话就能实现自动载入了。
在最新版本里面,官方出来的方法是spl_autoload_register()
这个方法的话也是基于autoload的,使用方式就是先写好上述的__autoload
方法,然后
spl_autoload_register('\\Imooc\\Loader::autoload');
这样的方式去加载。如果有多个框架的话,就使用多次这个语句。
通过目录和类去判断哪个地方的自动载入。上面这个对应的路径是Imooc目录下的Loader类里面的autoload方法。
class Loader{ static function autoload($class){ // \\ 双反斜杠的话是因为反斜杠要进行转移的 //BASEDIR 是在index.php这个入口文件里面预定义的变量 require BASEDIR . '/' . str_replace('\\', '/', $class) . '.php'; }}
然后在入口文件index.php里面
define('BASEDIR', __DIR__);include BASEDIR . '/Imooc/Loader php';//先引入对应的文件,即类。然后通过下面那个spl的方法,来定义自动加载的类//spl php标准库spl_autoload_register('\\Imooc\\Loader::autoload');
4.PSR-0的规范。
0 0
- 慕课网----大话PHP设计模式 一(命名空间,类的自动加载,PSR-0)
- PHP设计模式 一(命名空间,类的自动加载,PSR-0)
- php设计模式 一 (命名空间 类自动载入 PSR标准)
- 慕课网----大话PHP设计模式 六(面向对象编程的基本原则,自动加载config)
- php命名空间类自动加载
- PHP命名空间和自动加载类
- php自动加载PSR-0原文翻译,PSR-0中文版
- PHP PSR风格自动加载类的一个坑
- php自动加载+命名空间
- php类的自动加载标准PSR-4官方原文翻译,PSR-4中文版
- 【php】自动加载类autoload psr-0与psr-4标准
- psr 命名空间的规范
- PHP的PSR-0命名标准
- php命名空间与自动加载的区别
- php 命名空间 和 自动加载机制 的简单理解
- PSR-0 类自动加载规范
- PHP命名空间 namespace 和 自动加载
- 使用composer自动加载php命名空间
- 搭建windows下的php开发环境
- 聊聊学习List<T>搜索与排序的心得
- 【三层学习】——VB.NET实现登录
- MySQL sql 语句优化资料和学习笔记
- ArrayAdapter简单应用
- 慕课网----大话PHP设计模式 一(命名空间,类的自动加载,PSR-0)
- evalJS跨webview回传参或执行方法
- block,inline,inline-block的区别
- Java笔记--权限管理(RBAC)
- 前端开发APP,从HBuilder开始~
- mysql汉字转拼音
- android开发时华为手机logcat不显示的解决方法
- 简单工厂模式
- JSP四个作用域、JSP四个会话跟踪技术、JSP包含三个编译指令和七个动作指令、JSP九大内置对象