摘要:用也有三四個月了,雖然是兼職開發,但是使用的頻率非常之高,畢竟是產品化的一個項目。第二階段數據庫和開發了比較多的功能之后,會發現需要大量的測試數據,這時候和就該大顯身手了。
用Laravel也有三四個月了,雖然是兼職開發,但是使用的頻率非常之高,畢竟是產品化的一個項目。
在這期間,也踩了無數的坑,走了很多彎路,所以準備把最近的感悟記錄下來,方便后來者。
這是最開始接觸Laravel的一個階段。如果有PHP經驗,那么應該能很快找到MVC的路徑,然后駕輕就熟的開始寫起來。雖然還顯得有些笨拙,不過很快就能做出一些內容了。如果沒有PHP經驗,還是不建議輕易入坑的。畢竟連語法都不熟悉,很難上手。
Laravel由于支持大量的命令行生成代碼,可能對于thinkPHP或者其他框架的用戶并不太友好,不過當你需要創建大量文件的時候,還是會覺得很好用的。即使是簡單的增刪改查,也建議多用命令行,比如最好用的php artisan make:model Foo -m,直接創建了model和對應的migration。
第二階段:數據庫factory和seeder開發了比較多的功能之后,會發現需要大量的測試數據,這時候factory和seeder就該大顯身手了。當然這兩個貨并不怎么好搞定,faker的功能非常之多,factory中創建各種faker,然后在seeder中調用,學會這些,你就又升了一級。
faker對中文支持也很好,可以生成用戶名,英文名,中文名,中文公司名,中文的企業口號,大陸電話號碼等。
數據填充的文檔
faker的文檔
最開始表單校驗都是直接寫在controller中,如果了解一下request相關的內容,可以將表單驗證和數據創建更新,都放在多帶帶的request類中,php artisan make:request FooForm即可創建一個表單驗證器。我的習慣是,把新建和更新的驗證,都寫在一起,這樣方便對照,以免出錯。
表單類支持自動驗證登錄,自動驗證規則,支持很多種規則還支持自定義規則(php artisan make:rules balabala),還可以用messages函數,返回自定義錯誤信息。
表單相關的文檔
Laravel從5.5才開始支持瀏覽器自動化測試dusk,不過功能直接就登峰造極了,各種assert讓你眼花繚亂,而且易用性也在我用過的各種瀏覽器測試框架中首屈一指。如果沒有接觸過自動化測試或者瀏覽器測試,建議先嘗試一下其他框架,python、nodejs也都是有這方面工具的,做http測試和瀏覽器什么的。傳統的人工測試,實在有點落后了。
dusk最好用的,一個是支持分頁,也就是把一部分內容抽象到多帶帶的類里面;還有一個是有好多內置函數,不需要寫一大堆選擇器,比如type輸入可以使用input的名字,press使用button的名字,clickLink使用鏈接的名字,還能自定義高級選擇器;另一個是遇到錯誤可以自動截圖,簡直是神操作,可以直觀看到出錯的頁面。
測試相關的文檔
我目前剛達到這一階段,今天才剛剛理解依賴注入的用法,才開始用上repository模式,之前數次重構,都沒有成功。Laravel真正的神奇之處就在這里,你可以在controller之外的地方注入request對象,從而把大量的邏輯都從controller和model中剝離出來。在這之前的一陣子,我一直在用presenter模式,把視圖中涉及到一些邏輯的代碼都提取出來,以便復用。
項目越來越大之后,MVC已經完全不夠用了,controller亂成一團,model里也有好多邏輯代碼,view里有很多判斷和計算。這時候就需要好好設計一下骨架了,比如presenter、repository等,service模式還沒用過,后續可能會使用吧。
Laravel中大型項目架構
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/25992.html
摘要:一步,兩步,三步四步五步,就這樣到達了人生的巔峰傳統前端生態初級不使用打包中間處理工具,手工處理圖片等資源掌握以下知識點基礎結構,基礎樣式,基礎語法框架,系列插件框架,等基礎插件,等其他移動端適配,瀏覽器兼容,瀏覽器調試等恭喜完成新手村修 一步,兩步,三步四步五步,就這樣到達了人生的巔峰~ 傳統前端生態-初級 不使用打包、中間處理工具,手工處理js、css、圖片等資源 掌握以下知識點:...
摘要:路由篇文章基本上參考文檔所寫,用來記錄自己的學習過程,如果文章有錯,以文檔為準,當然希望大神看見給些意見,關于路由該怎么才能用的更溜,本菜鳥在此奉上膝蓋。 laravel-路由篇-01 文章基本上參考文檔所寫,用來記錄自己的學習過程,如果文章有錯,以文檔為準,當然希望大神看見給些意見,關于路由該怎么才能用的更溜,本菜鳥在此奉上膝蓋。 laravel文檔路由篇 1.首先最基礎的路由...
摘要:已有的經典求解算法可以分為精確解算法和啟發式算法兩大類。所以還有一大部分研究集中于啟發式算法領域。此外,經過不斷的探索研究,元啟發式算法被證明在求解方面具有很好的效果和效率。 showImg(https://segmentfault.com/img/remote/1460000018814897); 阿里妹導讀:車輛路徑規劃問題(Vehicle Routing Problem, VR...
閱讀 2901·2021-10-14 09:50
閱讀 1238·2021-10-08 10:21
閱讀 3671·2021-10-08 10:16
閱讀 3075·2021-09-27 14:02
閱讀 3150·2021-09-23 11:21
閱讀 2147·2021-09-07 10:17
閱讀 418·2019-08-30 14:00
閱讀 2127·2019-08-29 17:26