您可以在您的應用程序目錄裏創建一個新的目錄,例如,app/libraries
然後在您的composer.json文件,您可以包括app/libraries
在你的自動加載類映射:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
"laravel/framework": "4.2.*",
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/libraries", <------------------ YOUR CUSTOM DIRECTORY
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable",
}
一定要運行在修改你的composer.json後修改爲composer dump-autoload
。
我們假設您的班級名稱爲CustomClass.php
,它位於app/libraries
目錄中(所以完整路徑爲app/libraries/CustomClass.php
)。如果您按照慣例正確命名了您的班級名稱,那麼您的名稱空間可能會被命名爲libraries
。爲了清楚起見,我們將調用我們的命名空間custom
以避免與目錄混淆。
$class = new \custom\CustomClass();
或者,你可以給它一個別名在app/config/app.php
文件:
/*
|--------------------------------------------------------------------------
| Class Aliases
|--------------------------------------------------------------------------
|
| This array of class aliases will be registered when this application
| is started. However, feel free to register as many as you wish as
| the aliases are "lazy" loaded so they don't hinder performance.
|
*/
'aliases' => array(
...
'CustomClass' => 'custom\CustomClass',
...
)
而且你可以在應用程序的任何地方,你會與任何其他的類實例化類:
$class = new CustomClass();
希望這有助於!
我已將''app/libraries「'添加到我的composer.json autoload-> classmap部分。然後我添加了'TextCleaner =>'libraries \ TextCleaner'到我的app/config/app.php別名中。我嘗試實例化我的類像'$ imageCleaner = new \ libraries \ TextCleaner()'並且像'$ imageCleaner = new TextCleaner();'這兩個錯誤都表明類不存在。是的,我已經成功運行了composer dump-autload。 – 2014-11-21 22:22:52
@BillGarrison確保您的班級名稱空間。假設你的類的命名空間被稱爲'助手'(在你的類的頂部是'命名空間助手')。在你的config/app.php文件中,你可以將它包含爲''TextCleaner'=>'helpers \ TextCleaner'。我編輯了原始答案以幫助澄清。 – eluong 2014-11-22 00:50:19
今天幫了我:) +1 – 2015-01-03 13:03:47