【问题标题】:Psr-4 : namespace and spl autoloadPsr-4 : 命名空间和 spl 自动加载
【发布时间】:2015-08-23 06:18:34
【问题描述】:

好的,当我浏览时,网上有很多帖子和答案。据我了解

psr-0:仅 SPL 自动加载
psr-4: SPL 自动加载 + 命名空间

大多数答案都包含 LONG 方法。 psr-4 不应该很难实现,因为它的目的是简化文件结构,同时保持自己的优势。

我有这样的结构project\view\main.php

main.php

namespace project\view;
class main {
    .......
}

在我的根目录的项目文件夹中,我有一个index.php

spl_autoload_register( function ($ClassName) {
    require $ClassName . '.php';
});
$main = new project\view\main();

问题:我在 psr-4 上做得对吗?还是我仍然遗漏了文档中的某些内容?

【问题讨论】:

    标签: php namespaces spl-autoload-register


    【解决方案1】:

    根据规范,PSR-0[1] 已弃用(自 2014 年 10 月 21 日起)并被 PSR-4 取代

    来自PSR-4 文档:

    此 PSR 描述了从文件自动加载类的规范 路径。它是完全可互操作的,除了任何 其他自动加载规范,包括 PSR-0。这个 PSR 也 描述了放置文件的位置,这些文件将根据 规范。

    http://www.php-fig.org/psr/psr-4/

    如果您想了解规范更改的完整理由,可以咨询PSR-4 meta document

    如果您想查看工作示例,您可以搜索same location

    我的最终建议是查看composer 并让它处理它。您只需要包含自动生成的autoload.php 文件就可以进行全功能自动加载。

    【讨论】:

      猜你喜欢
      • 2013-07-19
      • 2016-05-18
      • 1970-01-01
      • 2015-12-03
      • 2016-01-22
      • 2019-03-09
      • 2014-03-17
      • 2014-11-12
      • 2014-09-24
      相关资源
      最近更新 更多