簡體   English   中英

用於PHP文件的Composer 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")

但作為回應,我得到了

調用未定義的函數Custom \\ abc()

我怎么解決這個問題?

PSR-4描述了從文件路徑自動加載類的規范。 它不涵蓋從文件加載功能。

使用files自動加載器自動加載每個請求中具有功能的文件。 只要您包括自動裝帶器,這將使您的功能可用:

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

由於函數是命名空間,因此需要use語句導入它們或使用完全限定的名稱。

如果您的Web文件夾包含與PSR-4兼容的類,請使用PSR-4自動加載器像以前一樣加載它們(您可以在composer.json定義多個自動加載器)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM