在Laravel中,我应该把自定义代码放在哪里?

11 浏览
0 Comments

在Laravel中,我应该把自定义代码放在哪里?

你好,

我有一些之前非MVC应用程序的自定义代码,已经进行了单元测试等等。现在,我需要将它放入一个Laravel应用程序中。它们不是控制器、模型或视图吗?这是否意味着我需要将它们放在与Symfony和Swiftmailer文件夹一起的vendor文件夹中?

0
0 Comments

在Laravel中,当我们需要添加自定义代码时,我们可能会遇到一个问题:在哪里放置自定义代码?这个问题的出现是因为我们需要知道在哪个位置放置自定义代码以便Laravel能够正确加载和执行它。

解决这个问题的方法是在`/start/global.php`文件中添加自定义代码。

同时,我们还可以参考一个更详细的回答,链接如下:

What are the best practices and best places for laravel 4 helpers or basic functions?

0
0 Comments

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/)

0