標籤:tran 準備 php7 培訓課程 orm dll 函數 表關聯 路由配置
最近在做一項目,是基於laravel的後台api,用於與手機互動的,資料採用json格式。下面說下怎樣在兩周內把一個新架構或者語言用的得心應手。
項目採用laravel5.4+dingoapi+jwt,資料庫使用model(orm)方式。
1、熟練使用工具,我平常看代碼用sublime,很輕巧的工具。斷點調試用phpstorm,api測試用postman(google瀏覽器外掛程式),本地用phpstudy搭建環境
2、sublime就不說了,用起來比較簡單。phpstorm配置調試,費了不少時間,按照網上的方法能配置,使用上遇到難題,最後發現是點擊監聽即可(配置完調試後),就是那個右上方的小電話,就這麼簡單,然後使用postman發送資料,phpstorm會停在斷點處,非常方便。
3、postman也費了不少時間,主要是下載的postman與網上的教程中版本不一致,看起來比較彆扭,會用了,很方便。
4、phpstudy搭建laravel環境,也進行了一番周折,問題主要出在php版本以及laravel需要開啟的動態庫上,最後使用php7,動態庫出現問題一般是缺少dll檔案,下載相關dll即可。
5、jwt需要注意下,項目使用student、teacher兩個表認證,但是jwt預設是user表認證。剛開始做使用的是在user表中加老師、學生標誌,這樣也能達到效果。最後團隊內商量還是使用jwt直接在student、teacher兩個表認證。最後發jwt需要升級到1.0版本才能支援,因為網上的教程都是用的jwt0.5版本,所以這個要升級。
上面說的都是工具的使用,工具用熟練了,才能高歌猛進。
6、laravel框,看看手冊,基本就是配置各種檔案,如果想對laravel原理瞭解下,可以使用phpstorm調試下代碼,知道是怎麼個流程。
7、api實現,網上的教程都比較老了,都不是laravel5.4的教程,網上的路由配置jwt都是寫在web.php設定檔中(老版本沒有api.php,只有web.php),經過摸索5.4版本jwt應該寫在api.php。
8、dingoapi很簡單,使用的就幾個函數,我就用了兩個collection paginator,這兩個函數配合transform,相當好用,transform使用model關聯擷取幾個表的資料。
9、資料表的聯集查詢,這裡出了點麻煩,本來想用model的表關聯搞定這個(with),最後用with實現了,因為要跟paginator結合,最後獲得的資料會多出無用的資料。最後回到使用leftjoin函數實現。
10、sql語句,laravel做了封裝,不知道最後執行的是什麼sql,可以通過配置sql監聽,將sql列印到log日誌中。配置也比較簡單。
11、可以通過seed設定一些測試資料,是很方便的。
12、剛開始資料庫經常改動,使用migrations,每次復原,資料就沒了,這個是比較頭疼的事。用seed自動填滿測試資料可以方便一些。
上面說了這個項目所有用到的東西,兩周時間可從學習到搭建完這個後台。
後面等這個項目做完,準備做個php項目培訓課程,通過網路遠程授課,可以遠程手把手指導的方式。團購價500元,介紹一個可以減50元,可以到群277304970報名。培訓的內容是使用laravel架構開發一個完整的項目,這個項目是以目前做的項目為基礎改進的。通過這個增加項目經驗,為找工作做鋪墊,希望這裡是個良好的開始。
php的laravel架構使用心得