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

實務上如何活用 Closure?

實務上如何活用 Closure?

PHP 5.3 正式將 closure 帶入 PHP,到了 Laravel 5,我們看到了 Laravel 大量使用 closure,除了在配合 Laravel 的地方使用 closure 外,我們該如何將 closure 加以內化,進而活用在自己的程式碼中呢? 我們將實際探索 Laravel 原始碼,學習 Taylor Otwell 如何使用 closure。

PHP 與 TypeScript 的 Template Literals

PHP 與 TypeScript 的 Template Literals

TypeScript 提供了 Template Literals,可以讓字串處理的可讀性更高,不再只是湊字串而已,事實上,PHP 也有這種機制。

如何判斷 Collection 的元素是否重複?

如何判斷 Collection 的元素是否重複?

實務上遇到的問題,不過 Collection 似乎沒有內建方法可用,需動用一點小技巧。

如何使用 Laravel Elixir + Browsersync 自動刷新瀏覽器?

如何使用 Laravel Elixir + Browsersync 自動刷新瀏覽器?

由於 HTML/CSS 技術越來越複雜,如 Dreamweaver 那種所見即所得的工具已經很難全面支援 HTML/CSS,所以前端開發取而代之的是文字編輯器配合 Emmet,然後直接在瀏覽器預覽,此時如 Browsersync 就非常方便。Laravel Elixir 3.3 之後直接支援 Browsersync,讓我們只要直接存檔就可以立即在瀏覽器看結果。

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

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

使用 SQLite In-Memory 的方式雖然又快又方便,但若使用了 DB::rawwhereRaw() 的寫法,由於直接使用了 MySQL 的函式,可能 SQLite 並不支援,就必須直接在 MySQL 跑測試。

雖然我們會另外開一個資料庫做測試,但也有可能我們想直接對正式有資料的資料庫做測試,我們該怎麼快速無痛切換呢?

深入探討依賴注入

深入探討依賴注入

依賴反轉原則是 SOLID 中最難理解的原則,而依賴注入則是單元測試的基石,本文將從可測試性角度探討依賴反轉與依賴注入,並將 Laravel 的 service container、constructor injection 與 method injection 應用在實務上。

如何從 Route 傳參數給 Controller?

如何從 Route 傳參數給 Controller?

實務上我們可能會遇到資料庫邏輯與商業邏輯完全相同,只有顯示邏輯不同,也就是 controller、service、repository 完全相同,只有 route 與 view 不相同,我們該如何在使用同一個 controller 的前提下,實現此需求呢?

如何在 Eloquent 建立一個含 or 的 where 條件式 ?

如何在 Eloquent 建立一個含 or 的 where 條件式 ?

實務上在 Eloquent 下 where 條件式時,其中可能包含一個 or 條件判斷,這種需求該如何使用 Eloquent 的 query builder 建立呢?

如何使用 SQLite 建立最簡單的 Laravel 開發環境?

如何使用 SQLite 建立最簡單的 Laravel 開發環境?

有很多方式可以建立 Laravel 開發環境,如 MAMP、Homestead,但事實上我最近最常使用的是 PHP 內建 HTTP server 與 SQLite,這是最簡單,也是最省電的開發環境。

如何讓 PhpStorm 在存檔時自動刪除 whitespace?

如何讓 PhpStorm 在存檔時自動刪除 whitespace?

有些公司會要求空白的一行也不能有 whitespace,如 Gerrit 在空白行若有 whitespace,會出現紅色警告,但 PhpStorm 預設換行會有 whitespace,是否能自動幫我們在存檔時刪除 whitespace呢?