美好的一天,我在哪裏把自定義代碼Laravel
我有一些自定義代碼從以前的非mvc應用程序。這是所有單位測試和東西。現在,我需要把它放在一個laravel應用程序中。他們不是控制者,或模型或觀點?這是否意味着我必須將它們放在Symfony和Swiftmailer文件夾的供應商文件夾中?
美好的一天,我在哪裏把自定義代碼Laravel
我有一些自定義代碼從以前的非mvc應用程序。這是所有單位測試和東西。現在,我需要把它放在一個laravel應用程序中。他們不是控制者,或模型或觀點?這是否意味着我必須將它們放在Symfony和Swiftmailer文件夾的供應商文件夾中?
你的意思是自定義類嗎?有時候我把我的一些類放在一個單獨的目錄中,因爲如你所說,它們不適合模型,視圖或控制器(或routes.php)。
我所做的是在app
下創建一個新目錄libraries
。你可以任意命名。然後將其添加到composer.json
文件自動載入部分。
{
"require": {
"laravel/framework": "4.0.*",
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php",
"app/libraries" // <---Added here
]
},
"scripts": {
"pre-update-cmd": [
"php artisan clear-compiled"
],
"post-install-cmd": [
"php artisan optimize"
],
"post-update-cmd": [
"php artisan optimize"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "dev"
}
不要忘了從終端或CMD運行composer dump-autoload
來更新自動加載器。
這將使自定義類自動加載,你可以通過調用它像這樣YourClass::yourfunction($params)
如果你喜歡一個截屏,我想建議有關驗證傑弗裏截屏方式使用它永遠在你的項目想去的地方。他創建了一個用於驗證模型的自定義類。他還展示瞭如何在應用程序中全局設置自定義類。 https://tutsplus.com/lesson/validation-services/
您還應該添加的路徑,/start/global.php
這裏有一個更完整的答案:
What are the best practices and best places for laravel 4 helpers or basic functions?