laravel框架學(xué)習(xí)筆記之組件化開發(fā)實(shí)現(xiàn)方法
本文實(shí)例講述了laravel框架學(xué)習(xí)筆記之組件化開發(fā)實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
1.第一個(gè)難點(diǎn),就是把本地的組件引入到項(xiàng)目中,進(jìn)行開發(fā)和測試,這個(gè)已經(jīng)解決了
2.就是需要發(fā)布組件中的配置文件到項(xiàng)目中
3.就是怎么在組建中加載組建中的視圖view層
視圖
你需要告訴 laravel 視圖的位置才能使 laravel 加載包中的視圖。你可以通過服務(wù)提供者的 loadViewsFrom 方法。loadViewsFrom 方法接受兩個(gè)參數(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)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門與進(jìn)階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。
- laravel+vue組合的項(xiàng)目中引入ueditor方式(打包成組件形式)
- 在laravel中使用Symfony的Crawler組件分析HTML
- Laravel框架中擴(kuò)展函數(shù)、擴(kuò)展自定義類的方法
- PHP框架Laravel插件Pagination實(shí)現(xiàn)自定義分頁
- laravel通過創(chuàng)建自定義artisan make命令來新建類文件詳解
- Laravel中重寫資源路由自定義URL的實(shí)現(xiàn)方法
- Laravel Validator自定義錯(cuò)誤返回提示消息并在前端展示
- Laravel認(rèn)證原理以及完全自定義認(rèn)證詳解
- 關(guān)于Laravel-admin的基礎(chǔ)用法總結(jié)和自定義model詳解
- Laravel5.5以下版本中如何自定義日志行為詳解
相關(guān)文章
在Ubuntu 18.04上安裝PHP 7.3 7.2和7.0的方法
這篇文章主要介紹了在Ubuntu 18.04上安裝PHP 7.3 7.2和7.0的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04用php和jQuery來實(shí)現(xiàn)“頂”和“踩”的投票功能
本文結(jié)合實(shí)例,講解使用PHP+MySql+jQuery實(shí)現(xiàn)的“頂”和“踩”投票功能,判斷用戶的投票行為是否有效。2016-10-10php實(shí)例分享之通過遞歸實(shí)現(xiàn)刪除目錄下的所有文件詳解
最近遇到一個(gè)實(shí)際問題,需要清空制定目錄下的所有文件及清空數(shù)據(jù)庫。清空數(shù)據(jù)庫不難,但要如何遞歸刪除一個(gè)目錄下的所有文件呢。 于是去網(wǎng)上研究了下資料再加上自己琢磨解決了這一問題。2014-05-05PHP小白必須要知道的php基礎(chǔ)知識(shí)(超實(shí)用)
PHP是一 種被廣泛應(yīng)用的開放源代碼的、基于服務(wù)器端的用于產(chǎn)生動(dòng)態(tài)網(wǎng)頁 的、可嵌入HTML中的腳本程序語言,尤其適合 WEB 開發(fā)。下面給大家分享PHP小白必須要知道的php基礎(chǔ)知識(shí),超實(shí)用,感興趣的朋友一起學(xué)習(xí)吧2017-10-10PHP實(shí)現(xiàn)頁面靜態(tài)化的超簡單方法
下面小編就為大家?guī)硪黄狿HP實(shí)現(xiàn)頁面靜態(tài)化的超簡單方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09完美實(shí)現(xiàn)wordpress禁止文章修訂和自動(dòng)保存的方法
這篇文章主要介紹了完美實(shí)現(xiàn)wordpress禁止文章修訂和自動(dòng)保存的方法,需要的朋友可以參考下2014-11-11