在laravel 5.2中编写常用方法

时间:2016-08-22 06:34:39

标签: php laravel-5.2

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

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

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

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

1 个答案:

答案 0 :(得分:0)

行。我来建议一些东西

  1. 需要编写适用于所有控制器的方法。你
    可以/应该修改App\Http\Controllers\Controller.php。因为全部 Laravel中的控制器扩展了它
  2. 需要编写整个应用程序中可用的类。它是
  3. 第1步:在app文件夹中写下您想要的任何课程。并遵循psr-4惯例

    第2步:注册Laravel应用程序 在App\Providers\AppServiceProvider。在register()方法中。添加

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

    第3步:使用它。您可以通过多种方式在整个应用程序中访问YourClass:

    app()->make('bindname');
    
    app('bindname');
    
    app()['bindname'];
    
    \App::make('bindname');
    
    //etc