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

如何測試 Repository 模式 (使用 SQLite)?

如何測試 Repository 模式 (使用 SQLite)?

一般我們會把資料庫邏輯寫在 repository,只要有邏輯,就需要去寫測試,畢竟我們寫的程式,可能跟我們想的不一樣。由於 repository 寫的是資料庫邏輯,所以勢必要真的去讀寫資料庫。但若真的去讀寫 MySQL,速度會比較慢,且資料庫本來就有一些資料,可能會影響測試的結果,因此比較理想的方式是測試時改讀寫 SQLite In-Memory Database

如何在PhpStorm將if else重構成switch case?

如何在PhpStorm將if else重構成switch case?

if else轉成switch case雖然不算重構,但轉成switch case之後,程式可讀性較高,且通常可以讓人聯想到下一步重構技巧,如Replace Type with State/Strategy,在PhpStorm 2016.1版中,新增了此項重構,非常實用。

如何在 macOS 安裝 Laravel 前端開發環境 ?

如何在 macOS 安裝 Laravel 前端開發環境 ?

Laravel 雖然為後端 framework,但提供了 Laravel Elixir 整合了很多好用前端工具,其基於 3 個更基本的前端工具 : Node.jsNPMGulp,這三個必須先搞定後,才能享受 Laravel Elixir 所帶來的便利。

如何一個專案使用一個 Homestead?

如何一個專案使用一個 Homestead?

傳統上都是在系統只安裝一個 Homestead,然後每個專案設定不同站台,各專案共用同一個資料庫。這種方式大體上也沒什麼問題,但有時若想測試一些東西,如安裝 Facebook 的 XHProf + XHGUI,將這些測試用的東西安裝在開發用的 Homestead 似乎不妥,因此最理想的方式是每個專案有自己的 Homestead,各專案可以安裝自己所需的元件,而不影響其他專案。

如何在OS X安裝Homestead?

如何在OS X安裝Homestead?

初學者因為Laravel環境難安裝而卡很久嗎?Laravel官方已經幫我們將整個環境用VM打包好,讓初學者可以不用擔心如何在OS X安裝PHP、Composer、Nginx、MySQL,就可快速地享受Laravel所帶來的便利。

如何測試PHP原生函式?

如何測試PHP原生函式?

PHP雖然有了Laravel,但實務上還是常常會使用PHP原生函式。假如是Laravel,因為函式都封裝在class內,因此很容易使用Mockery將某個class的method加以mock,但若使用的是PHP原生函式,因為並不是包在class內,所以無從mock,實務上我們該如何測試PHP原生函式呢?

如何在PhpStorm活用PHPDoc?

如何在PhpStorm活用PHPDoc?

初學者使用PhpStorm開啟Laravel專案時,馬上會發現原來的程式碼出現一堆反白警告,事實上這些都是有意義的,只是初學者常常不知道怎麼處理,而忽略這些反白警告,除此之外,PhpStorm有強大的語法提示功能,讓你不用去死記物件有哪些field與method,只要用選的即可,可大幅增加開發效率,也不用擔心typo打錯。而PhpStorm威力的背後,就是基於PHPDoc

如何使用PhpStorm實現Move Assignments to Paramters?

如何使用PhpStorm實現Move Assignments to Paramters?

若我們直接對參數做修改,會使得將來的Extract Method難度更高,因此在執行Extract Method之前,我們常常會執行Move Assignment to Parameters,先將參數指定給暫存變數,然後將後續的程式全部改成修改此暫存變數

如何使用變數建立物件?

如何使用變數建立物件?

傳統我們會使用 if else 判斷,建立不同的物件,但由於 JavaScript 與 PHP 動態語言的特性,我們可以將要建立的物件的 class 名稱變數表示,直接以該變數建立物件。

如何使用變數執行 method?

如何使用變數執行 method?

傳統我們會使用 if else 判斷,執行不同的 method,但由於 JavaScript 與 PHP 動態語言的特性,我們可以將要執行的 method 名稱以變數表示,直接以該變數執行 method。