php 文件的作曲家 PSR-4
Composer PSR-4 for php file
在我的项目中,我有一个文件夹 lib\custom
,其中包含 Web
文件夹和 functions.php
文件。在我的 functions.php
中,我有一些函数需要在另一个 类 中使用,在这个文件的第一行中,我定义了一个名称空间,如下所示
<?php
namespace Custom;
function abc(){....}
在 Web 文件夹中我有一些 类 和命名空间 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
中定义多个自动加载器)。
在我的项目中,我有一个文件夹 lib\custom
,其中包含 Web
文件夹和 functions.php
文件。在我的 functions.php
中,我有一些函数需要在另一个 类 中使用,在这个文件的第一行中,我定义了一个名称空间,如下所示
<?php
namespace Custom;
function abc(){....}
在 Web 文件夹中我有一些 类 和命名空间 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
中定义多个自动加载器)。