首先这里要了解PSR,Proposing a Standards Recommendation(提出标准建议)的缩写,就是一种PHP开发规范,让我们研发出来的代码更合理、更好维护、可读性更高。PSR有下面几个标准:
这里看出PSR的下标也是从0开始的,和数组还有点像~。其实PSR-4和PSR-0是有点相似甚至冗余的,他们都说明的是自动加载的规范,只不过PSR-4中的规范更加简洁,在PSR-0中下划线"_"是有特殊含义的,在autoload处理的时候需要将下划线转换为目录分隔符,而在PSR-4中下划线是没有任何特殊含义的,所以在文件自动加载的时候显得更加简洁、调理更加清楚。
我对github上面的psr-4规范中的例子进行了大概的翻译(相信你们的英语水平一定比我好,肯定可以看懂^_^),然后以这个自动加载类库做了一个小小的例子,例子文件多、长,放在这里不太合适,所以我在博客中就大概介绍下这个例子,想要详细了解的可以去我的github主页去看这个例子。
首先看下自动加载类的大概内容:
class Autoload { // 注册自动加载函数到spl autoload栈中. public function register(); // 添加一个目录到一个命名空间前缀中 public function addNamespace($prefix, $base_dir, $prepend=false); // 自动加载函数,会在$this->register中用到 public function loadClass($class); // 寻找映射的文件 public function loadMappedFile($prefix, $relative_class); //查看一个文件是否在文件系统中存在 public function requireFile($file); }