编程语言
首页 > 编程语言> > php – PSR-4目录结构和命名空间的一组功能?

php – PSR-4目录结构和命名空间的一组功能?

作者:互联网

我有一组有用的PHP函数.我想为它们创建一个符合PSR-4的存储库,但我找到的指南(1,2,3)似乎只谈论自动加载的类.

例如,我的文件如下,每个文件有一个函数:

my_cool_function1.php
my_cool_function2.php
... etc.

如何从中创建符合PSR-4的库?

解决方法:

您无法找到PSR-4自动加载文件的任何文档而不是类的原因,因为正如specification所述 – 它是专为自动加载类而设计的.

直接取自官方规格:

This PSR describes a specification for autoloading classes from file paths. It is fully interoperable, and can be used in addition to any other autoloading specification, including PSR-0. This PSR also describes where to place files that will be autoloaded according to the specification.

进一步来说;

The term “class” refers to classes, interfaces, traits, and other similar structures.

具有函数的文件实际上并不是类似的结构.

要自动加载这些文件,您需要使用文件自动加载:

"autoload": {
    "files": [
        "src/my_cool_function1.php",
        "src/my_cool_function2.php"
    ],
    "psr-4": {
        "SomeNamespace\\": "src/YourNamespace/"
    }
}

您会注意到,psr-4规范(通常)映射到命名空间.

标签:php,psr-4
来源: https://codeday.me/bug/20190528/1169203.html