念念不忘,必有迴響。有一口氣,點一盞燈,有燈就有人。

如何在 PhpStorm 使用 Code Completion?

如何在 PhpStorm 使用 Code Completion?

PHP 進入了物件導向與 framework 時代之後,出現了大量的 namespace、class、interface 與 method,基本上這些東西已經很難用記憶的方式來寫程式,必須靠工具輔助。PhpStorm 的 Code Completion 幫我們處理了大部分的東西,讓我們只要用選的就可以開發程式,一來開發速度變快,二來也可以減少 typo,是 modern PHP 的關鍵。

如何在 PhpStorm 使用 Code Inspection?

如何在 PhpStorm 使用 Code Inspection?

PHP 不需編譯,只要存檔就可執行,優點是很方便,缺點是很多程式語法上的錯誤必須在瀏覽器執行才能發現。PhpStorm 的 Code Inspection 就相當於編譯器,在程式開發階段就可檢查語法上的錯誤,再搭配單元測試檢查邏輯上的錯誤,如此雙重保障,就能提早發現錯誤加以解決,降低除錯成本。

如何使用 PhpStorm 的 Project Template 建立 Laravel 專案?

如何使用 PhpStorm 的 Project Template 建立 Laravel 專案?

PhpStorm 2016.2 提供一個新功能,可以將專案打包成 project template,以後新建專案時,可以選擇此 template 直接重建專案,如常用的 package 與 codebase 可以先打包好,將來要建立新專案就很方便。

如何在 PhpStorm 使用 Xdebug on Demand?

如何在 PhpStorm 使用 Xdebug on Demand?

Xdebug 是 PhpStorm debug 的必備工具,但是啟動 Xdebug 又會使 Composer 變慢,實務上很兩難,這個問題在 PhpStorm 2016.2 得到完美解決,平時不用開啟 Xdebug,PhpStorm 會在需要 debug 時才自動啟動 Xdebug,不會影響 Composer 執行速度。

如何使用 Null Object 模式?

如何使用 Null Object 模式?

當我們透過 Eloquent 對資料庫抓資料時,由於 where() 的條件可能撈不到資料,導致 first() 傳會 null,若再對 null 物件的欄位屬性做存取,會出現 Trying to get property of non-object 的錯誤訊息,當然有各種方法避開這個錯誤,但比較理想的方式是引入 Null Object 模式。

如何對 Collection 做 Assertion?

如何對 Collection 做 Assertion?

Collection 並非 PHP 原生的型別,是 Laravel 所擴充,因此 PHPUnit 並無法直接對其做 assertion,本文介紹兩種方式,一種是使用 PHPUnit 的 assertArraySubset(),一種是自己寫 collection macro,各有其優缺點,可視需求決定要使用哪種方法。

如何使用 PhpStorm 將 new 重構成依賴注入?

如何使用 PhpStorm 將 new 重構成依賴注入?

為了可測試性與低耦合,我們會使用依賴注入取代 new 建立物件,對於 legacy code,當然可以使用手動的方式重構,透過 PhpStorm,我們可以使用更簡單的方式將 new 重構成 依賴注入

如何使用 PhpStorm 重構成 Closure?

如何使用 PhpStorm 重構成 Closure?

在實務上,我們常常會遇到將重複程式碼重構成 closure 的需求,PhpStorm 沒辦法直接重構,需透過一些技巧。

如何使用 PhpStorm 將專案發佈到 GitHub?

如何使用 PhpStorm 將專案發佈到 GitHub?

若要將專案發佈到 GitHub,實務上除了先在本機建立 local git repository 外,還要在 GitHub 建立 remote git repository,然後建立 remote branch,最後才能 push 到 GitHub,這些動作都可以在 PhpStorm 內簡單的完成。

如何使用 PhpStorm 對 Collection 除錯?

如何使用 PhpStorm 對 Collection 除錯?

Laravel 的 Collection 在實務上非常好用,除了 Eloquent 直接回傳 Collection 外,還擴充了很多 method,讓我們可以使用 higher order function 與 fluent 風格開發,讓程式可讀性更高。不過 Collection 的除錯就比較麻煩,本文使用 PhpStorm 內建的 Watches,讓我們可以在不用修改程式碼的前提下,快速對 Collection 除錯。