第三课 PSR-4加载规范

 3.1 什么是PSR

  PSR 是 PHP Standard Recommendations 的简写,由 PHP FIG (框架可互用性小组)组织制定的 PHP 规范,是 PHP 开发的实践标准。

3.2 为什么需要

  项目的目的在于:通过框架作者或者框架的代表之间讨论,以最低程度的限制,制定一个协作标准,各个框架遵循统一的编码规范,避免各家自行发展的风格阻碍了 PHP 的发展,解决这个程序设计师由来已久的困扰。

3.3 PSR包含哪些规范

  PSR-0 (Autoloading Standard) 自动加载标准 

  PSR-1 (Basic Coding Standard) 基础编码标准 

  PSR-2 (Coding Style Guide) 编码风格向导 

  PSR-3 (Logger Interface) 日志接口 

  PSR-4 (Improved Autoloading) 自动加载的增强版,可以替换掉PSR-0了。

  https://www.kancloud.cn/thinkphp/php-fig-psr/3144   代码规范

  这里我们着重介绍psr4的自动加载规范 

3.4 psr4加载规范

  PSR-4 是关于由文件路径自动载入对应类的相关规范,在不要求改变代码的实现方式,只建议如何使用文件系统目录结构和 PHP 命名组织代码。框架当中的加载的,大部分都是遵循此规范

  实现psr4规范加载的例子:

3.5 psr4加载规范详细说明

  此处的“类”泛指所有的class类、接口、traits可复用代码块以及其它类似结构。

  一个完整的类名需具有以下结构:

     \<命名空间>(\<子命名空间>)*\<类名>

 

    完整的类名必须要有一个顶级命名空间,被称为 "vendor namespace";

    完整的类名可以有一个或多个子命名空间;

    完整的类名必须有一个最终的类名;

    完整的类名中任意一部分中的下滑线都是没有特殊含义的;

    完整的类名可以由任意大小写字母组成;

    所有类名都必须是大小写敏感的。

    当根据完整的类名载入相应的文件……

    完整的类名中,去掉最前面的命名空间分隔符,前面连续的一个或多个命名空间和子命名空间,作为“命名空间前缀”,其必须与至少一个“文件基目录”相对应;

    紧接命名空间前缀后的子命名空间必须与相应的”文件基目录“相匹配,其中的命名空间分隔符将作为目录分隔符。

    末尾的类名必须与对应的以 .php 为后缀的文件同名。

    自动加载器(autoloader)的实现一定不能抛出异常、一定不能触发任一级别的错误信息以及不应该有返回值。

例子

 

posted @ 2019-02-02 16:45  努力跟上大神的脚步  阅读(646)  评论(0)    收藏  举报