在laravel 5.2中编写常用方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在laravel 5.2中编写常用方法相关的知识,希望对你有一定的参考价值。

开发一个项目,我正在创建一些在所有控制器中都很常见的方法。

在此之前,我使用了codeigniter,然后在核心目录中编写了MY_Controller类,然后在控制器目录中的所有控制器中扩展了控制器。

同样我想在Laravel内做。但我很困惑,我应该在哪里编写常见的方法,如send_emailvalidate_captchaajax_file_upload和其他在整个应用程序中保持相同的常用方法。

所以请建议我定义这样一个类或中间件的好方法。应该怎么做才能创建它?

答案

好。我来建议一些东西

  1. 需要编写适用于所有控制器的方法。您 可以/应该修改AppHttpControllersController.php。因为Laravel中的所有控制器都扩展了它
  2. 需要编写整个应用程序可用的类。这从未如此简单

第1步:在app文件夹中写下您想要的任何课程。并遵循psr-4惯例 第2步:在AppProvidersAppServiceProvider注册Laravel应用程序。在register()方法。加

$this->app->bind('bindname', function ($app) {
    return new AppYourClass;
    // If you want to inject other class to YourClass contructor
    // return new AppYourClass($app->make('otherbindname'));
});

第3步:使用它。在整个应用程序中有几种方法可以访问YourClass:

app()->make('bindname');

app('bindname');

app()['bindname'];

App::make('bindname');

//etc

以上是关于在laravel 5.2中编写常用方法的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.2 在中止时将 Http 响应状态码设置为 403

Laravel:如何在控制器的几种方法中重用代码片段

需要一种有效的方法来避免使用 Laravel 5 重复代码片段

在 laravel 5.2 单元测试中模拟作业

Laravel 5.2控制器返回一个对象

在AuthController中覆盖laravel的5.2身份验证方法