在Laravel中,我应该把自定义代码放在哪里?
在Laravel中,当我们需要添加自定义代码时,我们可能会遇到一个问题:在哪里放置自定义代码?这个问题的出现是因为我们需要知道在哪个位置放置自定义代码以便Laravel能够正确加载和执行它。
解决这个问题的方法是在`/start/global.php`文件中添加自定义代码。
同时,我们还可以参考一个更详细的回答,链接如下:
What are the best practices and best places for laravel 4 helpers or basic functions?
Laravel中如何放置自定义代码
在Laravel中,如果自定义的类无法适应模型、视图、控制器或者路由文件(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" // <---在这里添加
]
},
"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)
如果你更喜欢视频教程的话,我推荐Jeffrey Way的验证教程。在该教程中,他创建了一个用于验证模型的自定义类,并展示了如何在整个应用程序中设置全局的自定义类。[链接](https://tutsplus.com/lesson/validation-services/)