美好的一天,
我有一些以前的非mvc应用程序的自定义代码。它是所有单元测试和东西。现在,我需要将它放在一个laravel应用程序中。它们不是控制器,模型或视图?这是否意味着我必须将它们放在带有Symfony和Swiftmailer文件夹的vendor文件夹中?
答案 0 :(得分:10)
你的意思是自定义课程吗?有时我把我的一些类放在一个单独的目录中,因为正如你所说,它们不适合模型,视图或控制器(或routes.php)。
我所做的是在名为app
的{{1}}下创建一个新目录。你可以随意命名。然后将其添加到libraries
文件自动加载部分。
composer.json
不要忘记从终端或CMD运行{
"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"
}
来更新自动加载器。
这将使自定义类自动加载,您可以在项目中随意调用它composer dump-autoload
如果你更喜欢截屏,我想推荐Jeffrey Ways关于验证的截屏视频。他创建了一个用于验证模型的自定义类。他还演示了如何在应用程序中全局设置自定义类。 https://tutsplus.com/lesson/validation-services/
答案 1 :(得分:0)
您还应该添加/start/global.php
的路径这里有一个更完整的答案:
What are the best practices and best places for laravel 4 helpers or basic functions?