# PHP技術交流與應用實作工作坊 ###### tags: `RD1` ## 經驗分享 * phpstorm好用 * [FakerPHP](https://github.com/FakerPHP/Faker) - 可以用來產生假資料用於測試 * 不要依賴於框架,要相依於套件 避免以後如果要換框架的話又要重寫程式碼,Laravel很多東西都是套件,可以用來單獨使用。 ### 台灣銀行爬資料TDD開發實作 描述: 用TDD方法寫一個去台灣銀行爬資料的程式。 [程式碼](https://github.com/recca0120/gold_price) ### 問題 1. 測試都還沒寫,主程式就寫好了 先寫程式再寫測試,測試就是負擔 2. 根目錄的使用方法 3. 我想了解laravel底層,框架底層東西好多,怎麼了解 你不是它,框架底層不要去了解,官網文件功能了解就好,不要hack底層,因為update後就會不見。錯的時候用單元測試去找錯誤,不要一行一行去追laravel的debug資訊。 4. contoller要不要寫測試? 要!前後端分離很好測,非常好測,只要測array跟json 前後端分離要測,要定好參數,這樣前後端就可以分開開發與測試。 5. php怎麼高併發? 1. 水平擴展 2. 用command 執行go或高併發的語言 3. 效能瓶頸找其他方法,涼了QQ 4. 有blackfire可以分析效能看看 6. 怎麼mock,好難~ 1. 確實... php不好mock,用laravel讚!不然就是你的class太過複雜 7. 撰寫測試出錯 阿就是你先寫程式在補測試嘛! 8. 正式環境下怎麼偵錯,如何重現問題 先保證自己的程式正確無誤,剩下就是外部溝通的問題。 9. orm效能不佳#@!$@!!@ 先上線在說,效能有問題再來想辦法tune。 ## 講者建議 * 問題要具體一點,給實例讚! 溝通要加油。 * 有事沒事看文件,善用IDE(<-phpstorm)。 * 不要用非文件上的東西,會阻礙你的升級。 * SQL很重要x3 ## [講者github](https://github.com/recca0120)