gpt4 book ai didi

php - 用于 php 文件的 Composer PSR-4

转载 作者:行者123 更新时间:2023-12-04 16:54:35 26 4
gpt4 key购买 nike

在我的项目中,我有一个文件夹 lib\custom其中包含 Web文件夹和 functions.php文件。在我的 functions.php我有一些函数需要在另一个类中使用,在第一行的这个文件中,我有一个定义的命名空间,如下所示

<?php
namespace Custom;

function abc(){....}

在 Web 文件夹中,我有一些带有 namespace 的类 Custom\Web ;

在我的 composer.json文件我定义的命名空间看起来像这样
"Custom\\":"lib/custom/"

所以,现在我正在使用 abc()看起来像这样
use Custom;
$abc = Custom\abc("abc")

但作为回应,我得到了

Call to undefined function Custom\abc()



我怎么解决这个问题?

最佳答案

PSR-4描述了从文件路径自动加载类的规范。它不包括从文件加载功能。

使用 the files autoloader自动加载具有每个请求的函数的文件。只要您包含自动加载器,这将使您的功能可用:

{
"autoload": {
"files": ["lib/custom/functions.php"]
}
}

由于您的函数是命名空间的,因此您需要使用 use 导入它们。语句或使用完全限定名称。

如果您的 Web文件夹包含 PSR-4 兼容类,像以前一样使用 PSR-4 自动加载器加载它们(您可以在 composer.json 中定义多个自动加载器)。

关于php - 用于 php 文件的 Composer PSR-4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44945532/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com