laravel框架學習筆記之元件化開發實現方法
阿新 • • 發佈:2020-02-02
本文例項講述了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相關內容感興趣的讀者可檢視本站專題:《Laravel框架入門與進階教程》、《php優秀開發框架總結》、《php面向物件程式設計入門教程》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧彙總》
希望本文所述對大家基於Laravel框架的PHP程式設計有所幫助。