2
我正在使用Composer構建一個小型項目,但現在我必須在供應商文件夾的父文件夾中使用一些自定義代碼。使用Composer的自動加載器和個人代碼
類似的文件結構:庫>公司名稱>命名空間>classfile.php
是否可以有效地使用自動加載磁帶機的作曲家?看起來好像是這樣,但我無法繞過它。
使用第二個自動加載器腳本會更容易嗎?
我正在使用Composer構建一個小型項目,但現在我必須在供應商文件夾的父文件夾中使用一些自定義代碼。使用Composer的自動加載器和個人代碼
類似的文件結構:庫>公司名稱>命名空間>classfile.php
是否可以有效地使用自動加載磁帶機的作曲家?看起來好像是這樣,但我無法繞過它。
使用第二個自動加載器腳本會更容易嗎?
我們通過作曲家加載我們自己的代碼。
我們的代碼安裝在我們公司名下的lib文件夾中。我們的作曲家文件看起來像這樣。
{
"config": {
"vendor-dir": "lib"
},
"require": {
"twig/twig": "v1.15.1",
"symfony/symfony": "2.5.4"
},
"autoload": {
"psr-4": {
"CompanyName\\": "lib/companyName/src"
}
}
}
自動加載psr4部分是重要部分。 CompanyName
將解析位於lib/companyName/src
的文件。
裏面的lib /的companyName/src目錄,你有一個文件名爲ThingDoer.php
<?php
namespace CompanyName;
class ThingDoer {
public static function doThings() {}
}
現在在你的代碼庫中的任何地方,你可以叫CompanyName\ThingDoer::doThings();
在你的代碼,是公司名稱,命名空間? – nobrandheroes 2015-02-10 22:25:25
正確(我認爲它的公司名稱,大寫事項的種類),爲清晰起見編輯了我的答案。 – castis 2015-02-10 22:27:50
很酷。這很棒。隨機,問題你的情況。你有src文件夾中的類的任何特定原因?與僅在companyName文件夾中相反? – nobrandheroes 2015-02-10 22:29:43