溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

laravel框架學(xué)習(xí)筆記之組件化開發(fā)的示例分析

發(fā)布時間:2021-05-27 14:42:43 來源:億速云 閱讀:203 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細講解有關(guān)laravel框架學(xué)習(xí)筆記之組件化開發(fā)的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

本文實例講述了laravel框架學(xué)習(xí)筆記之組件化開發(fā)實現(xiàn)方法。分享給大家供大家參考,具體如下:

1.第一個難點,就是把本地的組件引入到項目中,進行開發(fā)和測試,這個已經(jīng)解決了

2.就是需要發(fā)布組件中的配置文件到項目中

3.就是怎么在組建中加載組建中的視圖view層

視圖

你需要告訴 laravel 視圖的位置才能使 laravel 加載包中的視圖。你可以通過服務(wù)提供者的 loadViewsFrom 方法。loadViewsFrom 方法接受兩個參數(shù):視圖的路徑和包的名稱。比如,如果你的包名稱是“courier”,你應(yīng)該像下面一樣在 boot 中添加:

/**
 * Perform post-registration booting of services.
 *
 * @return void
 */
 public function boot()
 {
  $this->loadViewsFrom(__DIR__.'/path/to/views', 'courier');
 }

包視圖的使用方式是通過 package::view 類似的語法引用的。所以,你可以像這樣從 courier 包中引入 admin 視圖:

Route::get('admin', function () {
 return view('courier::admin'); 
});

4.就是數(shù)據(jù)的遷移,和數(shù)據(jù)的填充,命令行安裝組件(數(shù)據(jù)庫和配置文件,以及一些其他基本的操作,需要在命令行執(zhí)行)

需要把服務(wù)提供者寫入組件的composer中,供程序提前注冊

 "extra":{
    "laravel":{
      "providers":[
        "ShineYork\\LaravelShop\\Wap\\Member\\Providers\\MemberServiceProvider"
      ]
    }
  }

在服務(wù)提供者中提供了加載console的命令的方法,把寫好的命令類注入到方法中即可

namespace ShineYork\LaravelShop\Wap\Member\Providers;
use Illuminate\Support\Facades\Route;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Arr;
class MemberServiceProvide extends ServiceProvider {
  protected $commands = [
    \ShineYork\LaravelShop\Wap\Member\Console\Commands\InstallCommand::class,
  ];
  public function boot(){
    $this->commands($this->commands);
  }
}

5.命令行執(zhí)行發(fā)布配置文件和視圖

//猜測可能是命令行發(fā)布的服務(wù)提供者 前面的命令是執(zhí)行發(fā)布,后面的參數(shù)是發(fā)布服務(wù)提供者的位置

php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"

6.數(shù)據(jù)庫遷移和數(shù)據(jù)填充

7.組件加載console

8.執(zhí)行我們需要用代碼執(zhí)行的命令

public function handle()
{
    // call
    $this->call('migrate');
    $this->call('vendor:publish', [
     // 參數(shù)表示 => 參數(shù)值
     "--provider"=>"ShineYork\LaravelShop\Wap\Member\Providers\MemberServiceProvider"
    ]);
    // echo '這是測試wap-member的安裝命令';
}

9.快速創(chuàng)建composer 組件基礎(chǔ)架構(gòu)的組件(山藥開發(fā)的組件)

composer global require shineyork/laravel-package-maker:2.0

關(guān)于“l(fā)aravel框架學(xué)習(xí)筆記之組件化開發(fā)的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI