首頁 > php框架 > Laravel > 如何使用laravel添加自訂門面和服務提供者

如何使用laravel添加自訂門面和服務提供者

little bottle
發布: 2019-04-29 10:37:17
轉載
3580 人瀏覽過

在使用php的laravel框架進行專案開發時,我們經常會用到laravel框架自帶的門面和服務提供者,下面我們就來探究如何寫自己的門面和服務提供者(以下程式碼是基於laravel 5.2*編寫)。

一、建立自訂類別

在app目錄下面建立一個utils\ToolBar.php文件,這是我們的工具類,裡面是我們定義的程式碼。

<?phpnamespace App\Utils;class ToolBar{
   public function get()
   {
       return &#39;Hello my facade&#39;;
   }}
登入後複製

二、建立服務提供者

在專案的根目錄下執行指令:php artisan make:provider ToolServiceProvider建立一個服務提供者,並將我們剛才編寫的工具類別註冊到容器裡面。

<?phpnamespace App\Providers;use Illuminate\Support\ServiceProvider;use App\Utils\ToolBar;class ToolServiceProvider extends ServiceProvider{
   /**
    * Bootstrap the application services.
    *
    * @return void
    */
   public function boot()
   {
       //
   }

   /**
    * Register the application services.
    *
    * @return void
    */
   public function register()
   {
       $this->app->bind(&#39;tool&#39;,function(){
           return new ToolBar();
       });
   }}
登入後複製

三、群組簿服務提供者

在config\app.php檔案中的providers屬性裡面註冊我們剛剛新增的服務提供者,也就是新增:

App\Providers\ToolServiceProvider::class,
登入後複製

四、創建門面類

在app目錄下面創建一個門面類,App\Facades\Tool.php,目錄這裡是我自己建立的,這個可以隨便創建。只要後面註冊的時候一致就可以。程式碼如下:

<?phpnamespace App\Facades;use Illuminate\Support\Facades\Facade;class Tool extends Facade{
   protected static function getFacadeAccessor()
   {
       return &#39;tool&#39;;
   }}
登入後複製

五、群組門面類別

#在config\app.php的aliases屬性中追加下面的程式碼:

&#39;Tool&#39; => App\Facades\Tool::class,
登入後複製

#完成以上步驟,我們可以呼叫測試一下建立的門面和服務提供者是否有效
在routes\console.php裡面加入下面的程式碼:

Artisan::command(&#39;testFacade&#39;,function(){
    dd(tool::get());});
登入後複製

然後在專案根目錄的終端裡面,調用下面的指令:

php artisan testFacade
登入後複製

如果輸出Hello my facade 則表示都註冊成功,接下來,我們可以在專案的任何地方使用該自訂門面啦。

在使用php的laravel框架進行專案開發時,我們經常會用到laravel框架自帶的門面和服務提供者,下面我們就來探究如何寫自己的門面和服務提供者(以下程式碼是基於laravel 5.2*編寫)。

相關教學:laravel影片教學

#

以上是如何使用laravel添加自訂門面和服務提供者的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板