您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關laravel框架學習筆記之組件化開發的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
本文實例講述了laravel框架學習筆記之組件化開發實現方法。分享給大家供大家參考,具體如下:
1.第一個難點,就是把本地的組件引入到項目中,進行開發和測試,這個已經解決了
2.就是需要發布組件中的配置文件到項目中
3.就是怎么在組建中加載組建中的視圖view層
視圖
你需要告訴 laravel 視圖的位置才能使 laravel 加載包中的視圖。你可以通過服務提供者的 loadViewsFrom 方法。loadViewsFrom 方法接受兩個參數:視圖的路徑和包的名稱。比如,如果你的包名稱是“courier”,你應該像下面一樣在 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.就是數據的遷移,和數據的填充,命令行安裝組件(數據庫和配置文件,以及一些其他基本的操作,需要在命令行執行)
需要把服務提供者寫入組件的composer中,供程序提前注冊
"extra":{ "laravel":{ "providers":[ "ShineYork\\LaravelShop\\Wap\\Member\\Providers\\MemberServiceProvider" ] } }
在服務提供者中提供了加載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.命令行執行發布配置文件和視圖
//猜測可能是命令行發布的服務提供者 前面的命令是執行發布,后面的參數是發布服務提供者的位置 php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
6.數據庫遷移和數據填充
7.組件加載console
8.執行我們需要用代碼執行的命令
public function handle() { // call $this->call('migrate'); $this->call('vendor:publish', [ // 參數表示 => 參數值 "--provider"=>"ShineYork\LaravelShop\Wap\Member\Providers\MemberServiceProvider" ]); // echo '這是測試wap-member的安裝命令'; }
9.快速創建composer 組件基礎架構的組件(山藥開發的組件)
composer global require shineyork/laravel-package-maker:2.0
關于“laravel框架學習筆記之組件化開發的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。