开发一个项目,我正在创建一些在所有控制器中都很常见的方法。
在此之前,我使用了codeigniter,然后在核心目录中编写了MY_Controller类,然后在控制器目录中的所有控制器中扩展了控制器。
我想在Laravel
内做同样的事情。但我很困惑,我应该在哪里编写常见方法,如send_email
,validate_captcha
,ajax_file_upload
以及其他在整个应用程序中保持相同的常用方法。
所以请建议我定义这样一个类或中间件的好方法。应该怎么做才能创建它?
答案 0 :(得分:0)
行。我来建议一些东西
App\Http\Controllers\Controller.php
。因为全部
Laravel中的控制器扩展了它 第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