zoukankan      html  css  js  c++  java
  • 【php】【psr】psr4 自动加载规范

    规范了自动载入类的机制

    完整的类型 根命名空间子命名空间类名

    类名

    • 完整的命名空间必须要有根命名空间
    • 完整的类名可以有多个字命名空间 如 VendorCakeNameClassName
    • 完整的类名最右边必须有一个类名
    • 完整的类名任意一部分中的下划线都没有特殊含义
    • 完整的类名可以由任意的大小写字母构成
    • 所有的类名必须是大小写敏感的

    载入机制

    • 完整的类名中,去掉最前面的命名空间分隔符,前面连续的一个或多个命名空间和子命名空间,作为「命名空间前缀」,其必须与至少一个「文件基目录」相对应
    • 紧接命名空间前缀后的子命名空间 必须 与相应的「文件基目录」相匹配,其中的命名空间分隔符将作为目录分隔符
    • 末尾的类名 必须 与对应的以 .php 为后缀的文件同名。
    • 自动加载器(autoloader)的实现 一定不可 抛出异常、一定不可 触发任一级别的错误信息以及 不应该 有返回值

    下表展示了符合规范完整类名、命名空间前缀和文件基目录所对应的文件路径。

    完整类名 命名空间前缀 文件基目录 文件路径
    AcmeLogWriterFile_Writer AcmeLogWriter ./acme-log-writer/lib/ ./acme-log-writer/lib/File_Writer.php
    AuraWebResponseStatus AuraWeb /path/to/aura-web/src/ /path/to/aura-web/src/Response/Status.php
    SymfonyCoreRequest SymfonyCore ./vendor/Symfony/Core/ ./vendor/Symfony/Core/Request.php
    endAcl Zend /usr/includes/Zend/ /usr/includes/Zend/Acl.php

    未完待续

  • 相关阅读:
    grafana里prometheus查询语法
    Linux 高频工具快速教程
    国内开源镜像站点汇总
    Oracle DBLINK 简单使用
    启动OpenOffice服务
    使用openoffice转pdf,详细
    ORACLE数据库误操作执行了DELETE,该如何恢复数据?
    一个 介绍 superset Kylin 以及大数据生态圈的 博文
    Kylin介绍 (很有用)
    找到一些经验,关于使用thymeleaf时遇到的一些问题
  • 原文地址:https://www.cnblogs.com/china-flint/p/11133776.html
Copyright © 2011-2022 走看看