作曲家 PSR-4 用于 php 文件



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

<?php
namespace Custom;
function abc(){....}

在 Web 文件夹中,我有一些带有命名空间CustomWeb的类;

在我的composer.json文件中,我定义了命名空间,如下所示

"Custom\":"lib/custom/"

所以,现在我使用看起来像这样的abc()

use Custom;
$abc = Customabc("abc")

但作为我得到的回应

调用未定义的函数 Custom\abc()

如何解决这个问题?

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

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新