點燈坊
Laravel IDE Helper 解決了 PhpStorm 無法對 Facade 做 code completion 的問題,,為使用 Laravel 與 PhpStorm 必裝的套件,但安裝方式的差異,可能造成 Laravel 在 Azure 無法部署成功。
Azure 除了可以跑 PHP 與 Laravel 外,更可以跑我們喜愛的 MySQL 資料庫。本文將實際在 Azure 建立 MySQL 資料庫,透過 .env
的設定,讓 Laravel 可以連上 MySQL,並透過 PhpStorm 直接管理 Azure 雲端的 MySQL 資料庫。
Azure 是微軟的雲端平台,也可以跑 PHP 與 Laravel,本文將以 PhpStorm 為工具,與 GitHub 結合,將來程式有任何變更,只要 push 到 GitHub,就會自動更新到 Azure,還可透過 PhpStorm 內建的工具管理 Azure。
實務上開發專案時,有一些程式碼會不斷的出現,這時可靠 PhpStorm 的 Code Generation 幫我們產生這些 code snippet,除此之外,我們也可以將自己的 code snippet 加入 Live Template,可加快發開速度,並減少 typo。
PHP 進入了物件導向與 framework 時代之後,出現了大量的 namespace、class、interface 與 method,基本上這些東西已經很難用記憶的方式來寫程式,必須靠工具輔助。PhpStorm 的 Code Completion 幫我們處理了大部分的東西,讓我們只要用選的就可以開發程式,一來開發速度變快,二來也可以減少 typo,是 modern PHP 的關鍵。
PHP 不需編譯,只要存檔就可執行,優點是很方便,缺點是很多程式語法上的錯誤必須在瀏覽器執行才能發現。PhpStorm 的 Code Inspection 就相當於編譯器,在程式開發階段就可檢查語法上的錯誤,再搭配單元測試檢查邏輯上的錯誤,如此雙重保障,就能提早發現錯誤加以解決,降低除錯成本。
PhpStorm 2016.2 提供一個新功能,可以將專案打包成 project template,以後新建專案時,可以選擇此 template 直接重建專案,如常用的 package 與 codebase 可以先打包好,將來要建立新專案就很方便。
Xdebug 是 PhpStorm debug 的必備工具,但是啟動 Xdebug 又會使 Composer 變慢,實務上很兩難,這個問題在 PhpStorm 2016.2 得到完美解決,平時不用開啟 Xdebug,PhpStorm 會在需要 debug 時才自動啟動 Xdebug,不會影響 Composer 執行速度。
當我們透過 Eloquent 對資料庫抓資料時,由於 where()
的條件可能撈不到資料,導致 first()
傳會 null
,若再對 null
物件的欄位屬性做存取,會出現 Trying to get property of non-object
的錯誤訊息,當然有各種方法避開這個錯誤,但比較理想的方式是引入 Null Object
模式。