第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Composer - 在新包中設(shè)置自動(dòng)加載

Composer - 在新包中設(shè)置自動(dòng)加載

PHP
桃花長相依 2023-07-21 16:18:13
我正在嘗試制作一個(gè)作曲家包,但我正在努力設(shè)置自動(dòng)加載以在我正在開發(fā)它的項(xiàng)目中工作。我有兩個(gè)項(xiàng)目:Project Foo(我正在其中開發(fā)包)。項(xiàng)目欄(我在其中安裝了包:)composer require myhandle/mypackage。在 Project Foo 中,我(顯然)也必須能夠使用該包。但是在我自己的包中設(shè)置自動(dòng)加載不起作用。然而...當(dāng)我將更改提交到 Github、在 Packagist 更新包并composer update在 Project Bar 中運(yùn)行時(shí),它就可以工作了(??。?。奇怪的是......如果我composer update從 Project Foo (該項(xiàng)目不起作用)中進(jìn)行操作。因此,將軟件包更新到當(dāng)前版本(?),使其開始工作。所以它一定與我如何設(shè)置自動(dòng)加載有關(guān)。一張紙條:我通過在供應(yīng)商目錄中創(chuàng)建一個(gè)新的(空)文件夾來啟動(dòng)該包,然后在那里構(gòu)建該包。我認(rèn)為這很聰明,因?yàn)樗鼤?huì)反映出如果我有composer required包裹的話它會(huì)是什么樣子。我不知道這是否是不好的做法,因?yàn)?Composer 不再“控制”供應(yīng)商目錄中的所有文件。有大量關(guān)于如何制作 Composer 包的指南,但沒有一個(gè)指南解釋了在正在開發(fā)包的項(xiàng)目中構(gòu)建文件的好方法。以下是我為“獲取錯(cuò)誤”所做的操作(在 Project Foo 中):創(chuàng)建新的類文件,例如:myhandle/mypackage/src/Test.php然后我像這樣實(shí)例化它:$test = new MyNamespace\MyPackageName\Test();然后我收到錯(cuò)誤:致命錯(cuò)誤:未捕獲錯(cuò)誤:未找到類“MyNamespace\MyPackageName\Test”這就是 Project Bar 中的工作原理(完全相同的代碼)。我找不到有關(guān)如何在我正在開發(fā)的包中正確設(shè)置自動(dòng)加載的指南。我正在使用這個(gè)自動(dòng)加載文件,這是我在另一個(gè)作曲家項(xiàng)目中找到的。我已將其放在我的項(xiàng)目的根目錄中。它看起來像這樣:<?phpnamespace MyNamespace\MyPackageName;spl_autoload_register(function($cls) {    $cls = ltrim($cls, '\\');    if (strpos($cls, __NAMESPACE__) !== 0) {        return;    }    $classWithoutBaseNamespace = str_replace(__NAMESPACE__, '', $cls);    // Load files from 'src' directory based on their class name without    // the StoutLogic\AcfBuilder namespace.    $path = dirname(__FILE__).            DIRECTORY_SEPARATOR.            'src'.            str_replace('\\', DIRECTORY_SEPARATOR, $classWithoutBaseNamespace).            '.php';    require_once($path);});我在 Composer 文檔中找不到它,如何在新項(xiàng)目/包中設(shè)置它。不過,我可以找到無數(shù)關(guān)于如何使用自動(dòng)加載的指南。
查看完整描述

1 回答

?
慕斯王

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊

檢查getcomposer.org上有關(guān)自動(dòng)加載的文檔

刪除您的自定義自動(dòng)加載器定義,在composer.json 中注冊您的命名空間(希望您已經(jīng)遵循 PSR-4),運(yùn)行composer dump-autoload.

最后但并非最不重要的一點(diǎn)是,無論您何時(shí)何地需要使用它,只需包含

require?__DIR__?.?'/vendor/autoload.php';


查看完整回答
反對 回復(fù) 2023-07-21
  • 1 回答
  • 0 關(guān)注
  • 114 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號