laravel5创建service provider和facade的方法详解

laravel5创建service provider和facade的方法详解,第1张

概述介绍《PHP实例:laravel5创建service provider和facade的方法详解》开发教程,希望对您有用。

《PHP实例:laravel5创建service provIDer和facade的方法详解》要点:
本文介绍了PHP实例:laravel5创建service provIDer和facade的方法详解,希望对您有用。如果有疑问,可以联系我们。

本文实例讲述了laravel5创建service provIDer和facade的方法.分享给大家供大家参考,具体如下:PHP实例

laravel5创建一个facade,可以将某个service注册个门面,这样,使用的时候就不需要麻烦地use 了.文章用一个例子说明怎么创建service provIDer和 facade.PHP实例

目标PHP实例

我希望我创建一个AJAXResponse的facade,这样能直接在controller中这样使用:PHP实例

class MechanicController extends Controller {  public function getIndex()  {    \AJAXResponse::success();  }}

它的作用就是规范返回的格式为PHP实例

{  code: "0"  result: {  }}

步骤PHP实例

创建Service类PHP实例

在app/Services文件夹中创建类PHP实例

<?PHP namespace App\Services;class AJAXResponse {  protected function AJAXResponse($code,$message,$data = null)  {    $out = [      'code' => $code,'message' => $message,];    if ($data !== null) {      $out['result'] = $data;    }    return response()->Json($out);  }  public function success($data = null)  {    $code = ResultCode::Success;    return $this->AJAXResponse(0,'',$data);  }  public function fail($message,$extra = [])  {    return $this->AJAXResponse(1,$extra);  }}

这个AJAXResponse是具体的实现类,下面我们要为这个类做一个provIDerPHP实例

创建provIDerPHP实例

在app/ProvIDers文件夹中创建类PHP实例

<?PHP namespace App\ProvIDers;use Illuminate\Support\ServiceProvIDer;class AJAXResponseServiceProvIDer extends ServiceProvIDer {  public function register()  {    $this->app->singleton('AJAXResponseService',function () {      return new \App\Services\AJAXResponse();    });  }}

这里我们在register的时候定义了这个Service名字为AJAXResponseServicePHP实例

下面我们再定义一个门脸facadePHP实例

创建facadePHP实例

在app/Facades文件夹中创建类PHP实例

<?PHP namespace App\Facades;use Illuminate\Support\Facades\Facade;class AJAXResponseFacade extends Facade {  protected static function getFacadeAccessor() { return 'AJAXResponseService'; }}

修改配置文件PHP实例

好了,下面我们只需要到app.PHP中挂载上这两个东东就可以了PHP实例

<?PHPreturn [  ...  'provIDers' => [    ...    'App\ProvIDers\RouteServiceProvIDer','App\ProvIDers\AJAXResponseServiceProvIDer',],'aliases' => [    ...    'ValIDator' => 'Illuminate\Support\Facades\ValIDator','VIEw'   => 'Illuminate\Support\Facades\VIEw','AJAXResponse' => 'App\Facades\AJAXResponseFacade',];

总结PHP实例

laravel5中使用facade还是较为容易的,基本和4没啥区别.PHP实例

更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《PHP优秀开发框架总结》、《smarty模板入门基础教程》、《PHP日期与时间用法总结》、《PHP面向对象程序设计入门教程》、《PHP字符串(string)用法总结》、《PHP+MysqL数据库 *** 作入门教程》及《PHP常见数据库 *** 作技巧汇总》PHP实例

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助.PHP实例

总结

以上是内存溢出为你收集整理的laravel5创建service provider和facade的方法详解全部内容,希望文章能够帮你解决laravel5创建service provider和facade的方法详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1266670.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存