laravel擴展包開發步驟總結

1. 創建包
1
php artisan workbench vendor/package?--resources
注: ?vendor:開發商名 ? package:包名
2.修改下包里composer.json中的authors
1
2
3
4
5
6
"authors": [
????{
????????"name":?"cicl",
????????"email":?"test@126.com"
????}
]
3.?為創建的包注冊ServiceProvider
在項目根目錄執行 php artisan dump-autoload
在app/config/app.php文件里的provides數組中添加該包,將Vendor\Package\PackageServiceProvider添加到providers數組.
為了方便我們的使用,我們在app/config/app.php的aliases中增加一個別名:?'Package' => 'Vendor\Package\Facades\Notification',
啟動開發服務器: php artisan serve ,如果成功啟動,如顯示:Laravel?development?server?started?on?http://localhost:8000,則擴展包的基礎搭建就成功了。
基本的擴展包結構:
        /src/Vendor/PackagePackageServiceProvider.php/config/lang/migrations/views/tests/public

4、為本包添加獨立路由文件,只需在PackageServiceProvider中的boot函數中添加如下代碼,并在包的根目錄創建routes.php文件

1
2
3
4
public?function?boot(){???
????$this->package('vendor/package');???
????include?__DIR__.'/../../routes.php';
}

路由文件如下所示:?

1
Route::get('test',??function(){????return?"this is test";});
現在,在瀏覽器里輸入地址如:http://localhost:8000/test,就會輸出“this is test”。
5.接下來嘗試使用Controller
新建路由如下:?
1
Route::get('testtwo',array('as'?=>?'testtwo','uses'?=>?'Vendor\Package\Controllers\PackageController@getTest'));
6、在controllers 中新建RegistrationController.php文件,代碼如下:
1
2
3
4
5
6
7
8
9
10
<?php
namespace?Ccl\Lenon\Controllers;
use?Illuminate\Routing\Controller;
use?Illuminate\Support\Facades\View;
Class LenonController?extends?Controller {
?????public?function?getTest() {
?????????return?"控制器測試";
?????}
}
嘗試打開頁面,提示找不到控制器,Laravel默認是不自動查找任何目錄的,需要開發者自己指定文件的存放目錄,不過它也給出了建議路徑,比如在使用artisan workbench的時候是不是生成了src/controllers目錄呢,Ok,我們添加自動加載路徑即可。
7、在包的根目錄的composer.json的autoload下classmap字段增加"src/controllers",如:
1
2
3
4
"classmap": [
???????"src/migrations",
???????"src/controllers"
],
并在項目根目錄運行?php artisan dump-autoload,刷新頁面就好了。

8、接下來我們要使用views文件!按照我們理解我們只需要修改controller中代碼,如下:?

1
2
3
4
public?function?getRegister()???
{?
????return?View::make('test');
}
在包src/views/ 下創建 test.blade.php文件,并在文件中寫入相關頁面代碼,例: <h1>這是測試視圖的文件</h1>
刷新頁面,發現并沒有成功,在Laravel中,是不會自動索引包中的視圖文件的,所以我們還需要做一點點工作!

9、在載入視圖的時候指定他去包中尋找視圖文件即可,修改controller中代碼如下:

1
2
3
4
public?function?getRegister()???
{
????return?View::make('package::test');???
}

再次刷新頁面,我們期待的頁面出現了,

public遷移 ? ??
1
php artisan asset:publish --bench="vendor/package"
創建數據庫遷移
1
php artisan migrate:make create_users_table --bench="vendor/package"

執行數據庫遷移

1
php artisan migrate --bench="vendor/package"

轉載于:https://www.cnblogs.com/bainiu/p/7681176.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253122.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253122.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253122.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

洛谷 P1340 獸徑管理

題目描述 約翰農場的牛群希望能夠在 N 個(1<N<200) 草地之間任意移動。草地的編號由 1到 N。草地之間有樹林隔開。牛群希望能夠選擇草地間的路徑&#xff0c;使牛群能夠從任一 片草地移動到任一片其它草地。 牛群可在路徑上雙向通行。 牛群并不能創造路徑&#xff0c;但是…

功放關鍵規格參數檢查

編號規格備注1功放類型(開環/閉環)影響電性能指標2工作電壓(V)影響IC的穩定性3最大耐壓(V)影響IC的穩定性4最小負載(ohm)穩定性&#xff0c;過流&#xff0c;輸出功率&#xff0c;散熱5輸出功率過流&#xff0c;輸出功率&#xff0c;散熱6輸出方式(SE/BTL/PBTL)輸出功率&#x…

不踩雷不將就 京東智能產品30天無憂退

剁手節已經來臨&#xff0c;鋪天蓋地的促銷信息讓人應接不暇&#xff0c;恰好又是換季&#xff0c;確實需要買買買一波了。各種滿減活動讓人眼花繚亂&#xff0c;這波堪稱全年最大力度的促銷活動&#xff0c;令人是又喜又怕。倘若之前踩過雷的朋友&#xff0c;必然現在會謹慎許…

Linux進程間通信——使用信號量

//轉自http://blog.csdn.net/ljianhui/article/details/10243617 這篇文章將講述別一種進程間通信的機制——信號量。注意請不要把它與之前所說的信號混淆起來&#xff0c;信號與信號量是不同的兩種事物。有關信號的更多內容&#xff0c;可以閱讀我的另一篇文章&#xff1a;L…

麥克風陣列音頻檢查方法和標準

為確保產品能夠符合算法要求&#xff0c;務必提前做好相關設計&#xff0c;盡量確保各項指標滿足如下標準。 音頻評測工作&#xff0c;主要集中在研發設計階段&#xff1b;針對產品形態的不同&#xff0c;測試可分為裸板測試和整機測 試&#xff0c;下表為不同階段需要測試的…

Linux下git的使用——將已有項目放到github上

本地已經有一個項目了&#xff0c;需要將該項目放到github上&#xff0c;怎么操作&#xff1f; 步驟&#xff1a; 本地安裝git&#xff0c;有github賬號是前提。 &#xff08;1&#xff09;先在github創建一個空的倉庫&#xff0c;并復制鏈接地址。使用https&#xff0c;以.git…

SVG格式圖片轉成HTML中SVG的Path路徑

AI圖標制作完成之后&#xff0c;保存的svg文件包含許多AI的信息&#xff0c;如果要在HTML中使用&#xff0c;我們需要在svg文件中提取/修改信息&#xff0c;重新保存。 1、在AI中已經完成圖標&#xff0c;要保存SVG文件&#xff0c;點擊“文件(File)”-“另存為(Save As)”&…

11-5 筆記

函數&#xff1a; 函數在調用的時候&#xff0c;會形成一個私有作用域&#xff0c;內部的變量不會被外面訪問&#xff0c;這種保護機制叫閉包。這就意味著函數調用完畢&#xff0c;這個函數形成的棧內存會被銷毀。 函數歸屬誰跟它在哪調用沒有關系&#xff0c;跟在哪定義有關。…

linux下socket連接下的心跳機制

1&#xff0c;在長連接下&#xff0c;有可能很長一段時間都沒有數據往來。 理論上說&#xff0c;這個連接是一直保持連接的&#xff0c;但是實際情況中&#xff0c;如果中間節點出現什么故障是難以知道的。 有的節點&#xff08;防火墻&#xff09;會自動把一定時間之內沒有數…

大力智能臺燈與飛利浦臺燈 智能調光功能體驗

目前市面上絕大部分智能臺燈幾乎都宣稱有自動調光功能&#xff0c;即臺燈隨環境光變化自動調節LED光的亮度&#xff0c;或者臺燈在固定環境光下&#xff0c;一旦開啟了自動調光模式LED燈將自動調光至一個最適合讀寫作業的亮度&#xff1b; 下面對比體驗了大力臺燈T6 和 飛利浦…

php-驗證碼

<html><body> <h2>用戶注冊&#xff1a;</h2> <br> <form action"a.php" method"post"> 賬 號&#xff1a;<input type"text" name"zh" id""> <br> 密 碼&#xff1a;&l…

Linux內核Socket參數調優

可調優的內核變量存在兩種主要接口&#xff1a;sysctl命令和/proc文件系統&#xff0c;proc中與進程無關的所有信息都被移植到sysfs中。IPV4協議棧的sysctl參數主要是sysctl.net.core、sysctl.net.ipv4&#xff0c;對應的/proc文件系統是/proc/sys/net/ipv4和/proc/sys/net/cor…

Mango 的組織重構

為了提高敏捷性&#xff0c;企業應將自己劃分為一些負責業務戰略計劃價值中心&#xff0c;承擔端到端的責任&#xff0c;并完全獲取有關客戶需求的信息。企業需要為員工營造可交叉協作的空間&#xff0c;可以學習和使用自組織的改進圈、實踐社群&#xff08;CoP&#xff0c;Com…

vue.js單頁面應用實例

一&#xff1a;npm的安裝由于新版的node.js已經集成了npm的環境&#xff0c;所以只需去官網下載node.js并安裝&#xff0c;安裝完成后使用cmd檢測是否成功。測試node的版本號&#xff1a;node -v測試npm的版本號&#xff1a;npm -v以上提示代表安裝成功二&#xff1a;vue.js環境…

大屏拼接控制器的發展歷程與現狀分析

【中國數字視聽網訊】在大屏幕拼接系統中&#xff0c;我們很容易將焦點聚集在拼接單元上&#xff0c;殊不知幕后還有一個英雄在默默的支持&#xff0c;這個英雄就是是拼接控制器。拼接控制器的優劣直接決定著整個大屏幕顯示系統效果的好與壞&#xff0c;也決定了整套顯示系統的…

AA級與AAA級臺燈 重要指標對比

讀寫作業臺燈&#xff0c;按照國家標準&#xff08;GB/T 9473-2017 讀寫作業臺燈性能要求 &#xff09;臺燈只有兩個等級 即為A級和AA級&#xff1a; 但是大家在各個購物網站挑選臺燈尤其是挑選孩子學習用的讀寫臺燈時&#xff0c;會發現很多廠家宣稱臺 燈為AAA級&#xff0c…

windbg調試相關命令

windbg查找函數:x exe!main*條件斷點打印字符&#xff1a;bp 7199a2b0 ".printf \"message:%ma\", poi(esp8);.echo;g"//搜索內存:s -a 0000000000780000 L8000000 "This is a test2"!address,可以查看進程的堆布局&#xff0c;堆屬性。!addre…

零基礎學python,看完這篇文章,你的python基礎就差不多了!干貨【1】

2019獨角獸企業重金招聘Python工程師標準>>> Python基礎語法和面向對象&#xff08;下一篇分享面向對象&#xff09; Python基礎語法 1. 認識Python 1.1 Python 簡介 Python 的創始人為吉多范羅蘇姆&#xff08;Guido van Rossum&#xff09;。 Python 的設計目標&a…

消費類電子認證測試資料清單

消費類電子上市前必須取得相關認證&#xff0c;其中最常見的有3C、SRRC和CTA等強制性認證&#xff0c;還有類似TUV和Rohs等自愿性認證&#xff0c;現將常見認證測試資料清單小結如下&#xff1a; CCC測試認證&#xff1a; 測試項&#xff1a;EMC、安規和隨機等。 SRRC核準&am…

SVG 相關整理

1. 中文參考手冊&#xff1a; http://www.runoob.com/svg/svg-reference.html SVG HTML5 資源教程 http://www.html5tricks.com/tag/svg/ 2.SVG 入門到精通 http://www.w3cplus.com/blog/tags/411.html 3.SVG開發包整理 http://www.oschina.net/project/tag/420/svg http://www…