摘要:開(kāi)發(fā)根目錄測(cè)試分為單元測(cè)試和功能測(cè)試創(chuàng)建一個(gè)文件執(zhí)行測(cè)試測(cè)試前清除配置緩存運(yùn)行單個(gè)測(cè)試用例小提示在開(kāi)發(fā)與進(jìn)行交互的第三方擴(kuò)展包時(shí),最好選擇注入契約而不使用。
參考
https://laravelacademy.org/
契約Contract 就是接口
repository 倉(cāng)庫(kù)(封裝數(shù)據(jù)訪問(wèn),可以搜索:repository模式)
Container 容器
ServiceProvider 服務(wù)提供者
Foundation 基礎(chǔ)
$this->app->bind() 綁定契約(接口)
$app->make()
boot extend 覆蓋 修改驅(qū)動(dòng)
提示
英文單詞的 動(dòng)詞,名詞,單數(shù),復(fù)數(shù) 不同地方用不同的單詞.例如 seed和seeder
路由## 生成資源控制器路由 ,命令里加上 --resoure 生成帶crud方法的控制器 php artisan make:controller PostController --resource #路由一次性綁定資源方法 curd等 Route::resource("post", "PostController"); #模板內(nèi)使用路由命名 生成url 100]) }}"> #控制器里使用 路由名字生成url route("post.show", [$id]); #路由分組,組內(nèi)公用中間件 比如登錄校驗(yàn) https://laravelacademy.org/post/9612.html#toc_0 #兜底路由, Route::fallback(function () { return "沒(méi)設(shè)置路由,會(huì)到這里"; }); #頻率限制 利用內(nèi)置的throttle中間件實(shí)現(xiàn) Route::middleware("throttle:60,1")->group(function () { Route::get("/user", function () { // }); });視圖
#在視圖間共享變量 我們可以在某個(gè)服務(wù)提供者如 AppServiceProvider 的 boot 方法中定義共享的視圖變量: view()->share("siteName", "Laravel學(xué)院"); view()->share("siteUrl", "https://laravelacademy.org"); #通過(guò)數(shù)組指定多個(gè)視圖組件 view()->composer(["partials.header", "partials.footer"], function ($view) { $view->with("posts", Post::recent()); }); 視圖 變量自動(dòng)htmlentities轉(zhuǎn)義防止xss ,如果不想自動(dòng)轉(zhuǎn)義用{!! $variable !!},例如富文本編輯器的代碼; #注釋 {{-- 注釋內(nèi)容 --}}npm和前端編譯
npm install 安裝 前端庫(kù)
package.json 可類比為前端的 composer.json,我們通過(guò) npm install 安裝該文件中定義的依賴
運(yùn)行 npm run dev 編譯前端資源
大多數(shù)時(shí)候我們需要在 resources/js/app.js 和 resources/sass/app.scss 中編寫代碼,引入其它模塊,然后運(yùn)行 npm run dev 就可以了
讀一遍框架自帶的服務(wù)提供者源碼可以幫助你熟悉各種類是怎么綁定進(jìn)容器的,都綁定到哪些鍵上。這是學(xué)習(xí) Laravel 框架底層究竟如何運(yùn)轉(zhuǎn)的最佳實(shí)踐。
開(kāi)發(fā)config
根目錄.env
php artisan up
php artisan down
創(chuàng)建一個(gè) .env.testing 文件
#執(zhí)行測(cè)試 測(cè)試前清除配置緩存 php artisan config:clear vendor/bin/phpunit #運(yùn)行單個(gè)測(cè)試用例 vendor/bin/phpunit --filter=UserTest小提示
在開(kāi)發(fā)與 Laravel 進(jìn)行交互的第三方擴(kuò)展包時(shí),最好選擇注入 Laravel 契約 而不使用 Facades 。因?yàn)閿U(kuò)展包是在 Laravel 之外構(gòu)建,你無(wú)法使用 Laravel Facades 測(cè)試輔助函數(shù)
路由中間件內(nèi)置了 表單csrf,表單token
自定義中間件
#該命令會(huì)在 app/Http/Middleware 目錄下創(chuàng)建一個(gè)新的CheckAge 類 php artisan make:middleware CheckAge常見(jiàn)契約 Contracts
驗(yàn)證email, user包含 email_verified_at 字段常見(jiàn)方法
only() except() all has exists
$request->input() 智能讀取變量 支持json(需要header頭設(shè)置application/json)
表單驗(yàn)證 $request->validate()
created_at
updated_at
#生成可調(diào)用的控制器 php artisan make:controller ShowProfile --invokable #生成資源控制器 --resource參數(shù)自帶curd方法的自動(dòng)生成 php artisan make:controller PhotoController --resource #創(chuàng)建模型 加上-m參數(shù)順便創(chuàng)建遷移文件 php artisan make:model -m Models/Post #模型工廠文件 php artisan make:factory PostFactory --model=Models/Post #Schema 建立表 php artisan session:table #執(zhí)行數(shù)據(jù)遷移 php artisan migrate #全部down,再次up,填充數(shù)據(jù) php artisan migrate:refresh --seed #回滾最后一批遷移 php artisan migrate:rollback #回滾所有遷移,down方法 php artisan migrate:reset #刪除所有表 重建數(shù)據(jù)庫(kù)(破壞性,如果有自己手動(dòng)錄入的表數(shù)據(jù)請(qǐng)不要執(zhí)行此操作) php artisan migrate:fresh #刪除所有表 重建數(shù)據(jù)庫(kù) 并填充數(shù)據(jù) php artisan migrate:fresh --seed #生成數(shù)據(jù)遷移文件 創(chuàng)建新聞表 php artisan make:migration create_news_table --create news #復(fù)雜表單驗(yàn)證 建立類去處理 php artisan make:request StoreBlogPost #創(chuàng)建auth所需視圖和控制器 php artisan make:auth 命令來(lái)生成密鑰 php artisan key:generate數(shù)據(jù)填充
#創(chuàng)建填充類對(duì)象 php artisan make:seeder PostsTableSeeder 運(yùn)行填充器 編寫好填充器類之后,需要通過(guò) dump-autoload 命令重新生成 Composer 的自動(dòng)加載器: composer dump-autoload 運(yùn)行之后可以使用 Artisan 命令 db:seed 來(lái)填充數(shù)據(jù)庫(kù)。 默認(rèn)情況下,db:seed 命令運(yùn)行 DatabaseSeeder 類, 不過(guò),你也可以使用 --class 選項(xiàng)來(lái)指定你想要運(yùn)行的獨(dú)立的填充器類: php artisan db:seed php artisan db:seed --class=UsersTableSeeder 你還可以使用 migrate:refresh 命令來(lái)填充數(shù)據(jù)庫(kù),該命令還可以回滾并重新運(yùn)行所有遷移,這在需要完全重建數(shù)據(jù)庫(kù)時(shí)很有用: php artisan migrate:refresh --seed #填充中文數(shù)據(jù) $faker = FakerFactory::create("zh_CN"); 或者修改配置config/app.php "faker_locale" => "zh_CN", Factory 只是生成了測(cè)試數(shù)據(jù),但是插入還要 用模型和DB類去寫;數(shù)據(jù)庫(kù)操作
DB:: 外觀類操作數(shù)據(jù)庫(kù) 查詢構(gòu)建器
where whereIn whereBetween orderBy first
https://laravelacademy.org/po...
https://laravelacademy.org/po...
https://laravelacademy.org/po...
Eloquent ORM 每個(gè)表對(duì)應(yīng)一個(gè)類
模型有些默認(rèn)規(guī)則,如果與規(guī)則不符,需要重新指定 如表名,主鍵名,時(shí)間戳,連接的庫(kù),
注:由于 Eloquent 模型本質(zhì)上就是查詢構(gòu)建器,你可以在 Eloquent 查詢中使用查詢構(gòu)建器的所有方法。
#生成模型文件,帶上 -m 可以創(chuàng)建數(shù)據(jù)遷移文件 php artisan make:model Flight -m 組塊結(jié)果集chunk 游標(biāo)cursor 根據(jù)主鍵獲取記錄find $flight = AppFlight::find(1);//可以傳數(shù)組查多條 獲取單條記錄first $flight = AppFlight::where("active", 1)->first(); 如果無(wú)結(jié)果跑出異常findOrFail 和 firstOrFail fillable guarded 二選一 賦值權(quán)限設(shè)置
控制器 中間件
部署后#生成路由緩存, php artisan route:cache #清除路由緩存 php artisan route:clear問(wèn)題:
安裝擴(kuò)展 數(shù)據(jù)庫(kù)報(bào)錯(cuò)
清除配置緩存試試 php artisan config:clear
SymfonyComponentConsoleExceptionRuntimeException: Too many arguments, expected arguments "command".
執(zhí)行單元測(cè)試的時(shí)候報(bào)的錯(cuò),測(cè)試?yán)飳懥藞?zhí)行一個(gè) artisan 命令,命令寫錯(cuò)了. 復(fù)制的命令是中文字符
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/30973.html
摘要:最適合入門的初級(jí)教程一為什么選擇曾經(jīng)要跟白頭到老沒(méi)想到它升了個(gè)級(jí)就拋了錨把我等拋棄了痛定思痛重新審視了一遍框架是世界上最好的語(yǔ)言這個(gè)沒(méi)有疑問(wèn)吧如果有那絕對(duì)是個(gè)異教徒這是要被拖出去燒死的信仰的問(wèn)題神圣不可侵犯那最好的語(yǔ)言中最流行的框架是哪個(gè)呢 最適合入門的 Laravel 初級(jí)教程 (一) 為什么選擇 laravel 曾經(jīng)要跟 thinkphp 白頭到老;沒(méi)想到它升了個(gè)級(jí)就拋了錨;把我等...
摘要:原文發(fā)表在我的個(gè)人網(wǎng)站系列入門教程四最適合中國(guó)人的教程本教程示例代碼見(jiàn)大家在任何地方卡住,最快捷的解決方式就是去看我的示例代碼。 原文發(fā)表在我的個(gè)人網(wǎng)站:Laravel 5 系列入門教程(四)【最適合中國(guó)人的 Laravel 教程】 本教程示例代碼見(jiàn):https://github.com/johnlui/Learn-Laravel-5 大家在任何地方卡住,最快捷...
摘要:最適合入門的初級(jí)教程二看這篇文章的時(shí)候你需要安裝好配置好本地環(huán)境環(huán)境搞定后咱來(lái)說(shuō)的下載這里先解決一些童鞋可能有的疑惑的版本更新的那么快從到現(xiàn)在的了我應(yīng)該下載那個(gè)學(xué)習(xí)呢新出的版本的文檔資料豐富么作為一個(gè)過(guò)來(lái)人可以大膽的說(shuō)學(xué)習(xí)最新版本沒(méi)問(wèn)題除了 最適合入門的 Laravel 初級(jí)教程 (二) 看這篇文章的時(shí)候;你需要安裝好 composer ;配置好本地環(huán)境; 環(huán)境搞定后; 咱來(lái)說(shuō)lara...
摘要:本系列思維導(dǎo)圖整理自版本官方文檔。思維導(dǎo)圖導(dǎo)出為圖片時(shí)會(huì)導(dǎo)致其變模糊。需要高清的思維導(dǎo)圖源文件,請(qǐng)關(guān)注微信公眾號(hào),并回復(fù)精進(jìn)腦圖來(lái)獲取。今天我們就通過(guò)張思維導(dǎo)圖來(lái)快速看入門指南。這些文章都將首發(fā)在微信公眾號(hào)上。 showImg(https://segmentfault.com/img/remote/1460000010774258); 本系列思維導(dǎo)圖整理自 Laravel 5.4 版...
摘要:原文發(fā)表在我的個(gè)人網(wǎng)站系列入門教程二最適合中國(guó)人的教程本教程示例代碼見(jiàn)大家在任何地方卡住,最快捷的解決方式就是去看我的示例代碼。 原文發(fā)表在我的個(gè)人網(wǎng)站:Laravel 5 系列入門教程(二)【最適合中國(guó)人的 Laravel 教程】 本教程示例代碼見(jiàn):https://github.com/johnlui/Learn-Laravel-5 大家在任何地方卡住,最快捷...
摘要:的安裝與使用是什么是的一個(gè)依賴管理工具。它以項(xiàng)目為單位進(jìn)行管理,你只需要聲明項(xiàng)目所依賴的代碼庫(kù),會(huì)自動(dòng)幫你安裝這些代碼庫(kù)。 Composer 的安裝與使用 Composer 是什么 Composer 是 PHP 的一個(gè)依賴管理工具。它以項(xiàng)目為單位進(jìn)行管理,你只需要聲明項(xiàng)目所依賴的代碼庫(kù),Composer 會(huì)自動(dòng)幫你安裝這些代碼庫(kù)。 安裝 Composer Mac 下的安裝只需要在命令行...
閱讀 3152·2021-11-24 10:24
閱讀 2956·2021-11-11 16:54
閱讀 3083·2021-09-22 15:55
閱讀 2037·2019-08-30 15:44
閱讀 1908·2019-08-29 18:41
閱讀 2770·2019-08-29 13:43
閱讀 3061·2019-08-29 12:51
閱讀 1193·2019-08-26 12:19