成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Laravel 菜鳥(niǎo)晉級(jí)之路

YacaToy / 1462人閱讀

摘要:用也有三四個(gè)月了,雖然是兼職開(kāi)發(fā),但是使用的頻率非常之高,畢竟是產(chǎn)品化的一個(gè)項(xiàng)目。第二階段數(shù)據(jù)庫(kù)和開(kāi)發(fā)了比較多的功能之后,會(huì)發(fā)現(xiàn)需要大量的測(cè)試數(shù)據(jù),這時(shí)候和就該大顯身手了。

用Laravel也有三四個(gè)月了,雖然是兼職開(kāi)發(fā),但是使用的頻率非常之高,畢竟是產(chǎn)品化的一個(gè)項(xiàng)目。
在這期間,也踩了無(wú)數(shù)的坑,走了很多彎路,所以準(zhǔn)備把最近的感悟記錄下來(lái),方便后來(lái)者。


第一階段:簡(jiǎn)單的增刪改查

這是最開(kāi)始接觸Laravel的一個(gè)階段。如果有PHP經(jīng)驗(yàn),那么應(yīng)該能很快找到MVC的路徑,然后駕輕就熟的開(kāi)始寫起來(lái)。雖然還顯得有些笨拙,不過(guò)很快就能做出一些內(nèi)容了。如果沒(méi)有PHP經(jīng)驗(yàn),還是不建議輕易入坑的。畢竟連語(yǔ)法都不熟悉,很難上手。

Laravel由于支持大量的命令行生成代碼,可能對(duì)于thinkPHP或者其他框架的用戶并不太友好,不過(guò)當(dāng)你需要?jiǎng)?chuàng)建大量文件的時(shí)候,還是會(huì)覺(jué)得很好用的。即使是簡(jiǎn)單的增刪改查,也建議多用命令行,比如最好用的php artisan make:model Foo -m,直接創(chuàng)建了model和對(duì)應(yīng)的migration。

第二階段:數(shù)據(jù)庫(kù)factory和seeder

開(kāi)發(fā)了比較多的功能之后,會(huì)發(fā)現(xiàn)需要大量的測(cè)試數(shù)據(jù),這時(shí)候factory和seeder就該大顯身手了。當(dāng)然這兩個(gè)貨并不怎么好搞定,faker的功能非常之多,factory中創(chuàng)建各種faker,然后在seeder中調(diào)用,學(xué)會(huì)這些,你就又升了一級(jí)。

faker對(duì)中文支持也很好,可以生成用戶名,英文名,中文名,中文公司名,中文的企業(yè)口號(hào),大陸電話號(hào)碼等。
數(shù)據(jù)填充的文檔
faker的文檔

第三階段:表單剝離

最開(kāi)始表單校驗(yàn)都是直接寫在controller中,如果了解一下request相關(guān)的內(nèi)容,可以將表單驗(yàn)證和數(shù)據(jù)創(chuàng)建更新,都放在多帶帶的request類中,php artisan make:request FooForm即可創(chuàng)建一個(gè)表單驗(yàn)證器。我的習(xí)慣是,把新建和更新的驗(yàn)證,都寫在一起,這樣方便對(duì)照,以免出錯(cuò)。

表單類支持自動(dòng)驗(yàn)證登錄,自動(dòng)驗(yàn)證規(guī)則,支持很多種規(guī)則還支持自定義規(guī)則(php artisan make:rules balabala),還可以用messages函數(shù),返回自定義錯(cuò)誤信息。
表單相關(guān)的文檔

第四階段:自動(dòng)化測(cè)試

Laravel從5.5才開(kāi)始支持瀏覽器自動(dòng)化測(cè)試dusk,不過(guò)功能直接就登峰造極了,各種assert讓你眼花繚亂,而且易用性也在我用過(guò)的各種瀏覽器測(cè)試框架中首屈一指。如果沒(méi)有接觸過(guò)自動(dòng)化測(cè)試或者瀏覽器測(cè)試,建議先嘗試一下其他框架,python、nodejs也都是有這方面工具的,做http測(cè)試和瀏覽器什么的。傳統(tǒng)的人工測(cè)試,實(shí)在有點(diǎn)落后了。

dusk最好用的,一個(gè)是支持分頁(yè),也就是把一部分內(nèi)容抽象到多帶帶的類里面;還有一個(gè)是有好多內(nèi)置函數(shù),不需要寫一大堆選擇器,比如type輸入可以使用input的名字,press使用button的名字,clickLink使用鏈接的名字,還能自定義高級(jí)選擇器;另一個(gè)是遇到錯(cuò)誤可以自動(dòng)截圖,簡(jiǎn)直是神操作,可以直觀看到出錯(cuò)的頁(yè)面。
測(cè)試相關(guān)的文檔

第五階段:設(shè)計(jì)模式

我目前剛達(dá)到這一階段,今天才剛剛理解依賴注入的用法,才開(kāi)始用上repository模式,之前數(shù)次重構(gòu),都沒(méi)有成功。Laravel真正的神奇之處就在這里,你可以在controller之外的地方注入request對(duì)象,從而把大量的邏輯都從controller和model中剝離出來(lái)。在這之前的一陣子,我一直在用presenter模式,把視圖中涉及到一些邏輯的代碼都提取出來(lái),以便復(fù)用。

項(xiàng)目越來(lái)越大之后,MVC已經(jīng)完全不夠用了,controller亂成一團(tuán),model里也有好多邏輯代碼,view里有很多判斷和計(jì)算。這時(shí)候就需要好好設(shè)計(jì)一下骨架了,比如presenter、repository等,service模式還沒(méi)用過(guò),后續(xù)可能會(huì)使用吧。
Laravel中大型項(xiàng)目架構(gòu)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/25992.html

相關(guān)文章

  • 前端修煉之路

    摘要:一步,兩步,三步四步五步,就這樣到達(dá)了人生的巔峰傳統(tǒng)前端生態(tài)初級(jí)不使用打包中間處理工具,手工處理圖片等資源掌握以下知識(shí)點(diǎn)基礎(chǔ)結(jié)構(gòu),基礎(chǔ)樣式,基礎(chǔ)語(yǔ)法框架,系列插件框架,等基礎(chǔ)插件,等其他移動(dòng)端適配,瀏覽器兼容,瀏覽器調(diào)試等恭喜完成新手村修 一步,兩步,三步四步五步,就這樣到達(dá)了人生的巔峰~ 傳統(tǒng)前端生態(tài)-初級(jí) 不使用打包、中間處理工具,手工處理js、css、圖片等資源 掌握以下知識(shí)點(diǎn):...

    Jason_Geng 評(píng)論0 收藏0
  • 前端修煉之路

    摘要:一步,兩步,三步四步五步,就這樣到達(dá)了人生的巔峰傳統(tǒng)前端生態(tài)初級(jí)不使用打包中間處理工具,手工處理圖片等資源掌握以下知識(shí)點(diǎn)基礎(chǔ)結(jié)構(gòu),基礎(chǔ)樣式,基礎(chǔ)語(yǔ)法框架,系列插件框架,等基礎(chǔ)插件,等其他移動(dòng)端適配,瀏覽器兼容,瀏覽器調(diào)試等恭喜完成新手村修 一步,兩步,三步四步五步,就這樣到達(dá)了人生的巔峰~ 傳統(tǒng)前端生態(tài)-初級(jí) 不使用打包、中間處理工具,手工處理js、css、圖片等資源 掌握以下知識(shí)點(diǎn):...

    macg0406 評(píng)論0 收藏0
  • laravel-路由篇-01

    摘要:路由篇文章基本上參考文檔所寫,用來(lái)記錄自己的學(xué)習(xí)過(guò)程,如果文章有錯(cuò),以文檔為準(zhǔn),當(dāng)然希望大神看見(jiàn)給些意見(jiàn),關(guān)于路由該怎么才能用的更溜,本菜鳥(niǎo)在此奉上膝蓋。 laravel-路由篇-01 文章基本上參考文檔所寫,用來(lái)記錄自己的學(xué)習(xí)過(guò)程,如果文章有錯(cuò),以文檔為準(zhǔn),當(dāng)然希望大神看見(jiàn)給些意見(jiàn),關(guān)于路由該怎么才能用的更溜,本菜鳥(niǎo)在此奉上膝蓋。 laravel文檔路由篇 1.首先最基礎(chǔ)的路由...

    nevermind 評(píng)論0 收藏0
  • 世界冠軍之路菜鳥(niǎo)車輛路徑規(guī)劃求解引擎研發(fā)歷程

    摘要:已有的經(jīng)典求解算法可以分為精確解算法和啟發(fā)式算法兩大類。所以還有一大部分研究集中于啟發(fā)式算法領(lǐng)域。此外,經(jīng)過(guò)不斷的探索研究,元啟發(fā)式算法被證明在求解方面具有很好的效果和效率。 showImg(https://segmentfault.com/img/remote/1460000018814897); 阿里妹導(dǎo)讀:車輛路徑規(guī)劃問(wèn)題(Vehicle Routing Problem, VR...

    CoreDump 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<