国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

laravel5創建service provider和facade的方法詳解

2024-05-04 23:48:51
字體:
來源:轉載
供稿:網友

本文實例講述了laravel5創建service provider和facade的方法。分享給大家供大家參考,具體如下:

laravel5創建一個facade,可以將某個service注冊個門面,這樣,使用的時候就不需要麻煩地use 了。文章用一個例子說明怎么創建service provider和 facade。

目標

我希望我創建一個AjaxResponse的facade,這樣能直接在controller中這樣使用:

class MechanicController extends Controller {  public function getIndex()  {    /AjaxResponse::success();  }}

它的作用就是規范返回的格式為

{  code: "0"  result: {  }}

步驟

創建Service類

在app/Services文件夾中創建類

<?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, $message, $extra);  }}

這個AjaxResponse是具體的實現類,下面我們要為這個類做一個provider

創建provider

在app/Providers文件夾中創建類

<?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名字為AjaxResponseService

下面我們再定義一個門臉facade

創建facade

在app/Facades文件夾中創建類

<?php namespace App/Facades;use Illuminate/Support/Facades/Facade;class AjaxResponseFacade extends Facade {  protected static function getFacadeAccessor() { return 'AjaxResponseService'; }}

修改配置文件

好了,下面我們只需要到app.php中掛載上這兩個東東就可以了

<?phpreturn [  ...  'providers' => [    ...    'App/Providers/RouteServiceProvider',    'App/Providers/AjaxResponseServiceProvider',  ],  'aliases' => [    ...    'Validator' => 'Illuminate/Support/Facades/Validator',    'View'   => 'Illuminate/Support/Facades/View',    'AjaxResponse' => 'App/Facades/AjaxResponseFacade',  ],];

總結

laravel5中使用facade還是較為容易的,基本和4沒啥區別。

希望本文所述對大家基于Laravel框架的PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 凯里市| 新化县| 临泽县| 衡东县| 巴林右旗| 旺苍县| 南昌县| 浦江县| 昭觉县| 弥勒县| 望江县| 喀喇沁旗| 潮安县| 樟树市| 东兴市| 广水市| 鄄城县| 郎溪县| 山东省| 章丘市| 万全县| 大邑县| 泰和县| 南皮县| 巴里| 海淀区| 杭锦旗| 马尔康县| 嘉禾县| 青海省| 宁河县| 娄烦县| 北票市| 绥芬河市| 招远市| 九台市| 南丰县| 澎湖县| 南安市| 革吉县| 西乌珠穆沁旗|