美好的一天,
我有一些来自以前的非mvc应用程序的自定义代码.它是所有单元测试和东西.现在,我需要将它放在一个laravel应用程序中.它们不是控制器,模型或视图?这是否意味着我必须将它们放在带有Symfony和Swiftmailer文件夹的vendor文件夹中?
你的意思是自定义课程吗?有时我把我的一些类放在一个单独的目录中,因为正如你所说,它们不适合模型,视图或控制器(或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" }
不要忘记composer dump-autoload
从终端或CMD 运行以更新自动加载器.
这将使自定义类自动加载,您可以通过调用它来在项目中的任何地方使用它 YourClass::yourfunction($params)
如果你更喜欢截屏,我想推荐关于验证的Jeffrey Ways截屏视频.他创建了一个用于验证模型的自定义类.他还演示了如何在应用程序中全局设置自定义类.https://tutsplus.com/lesson/validation-services/