簡單介紹 PHP 的生成器 (Generators)

PHP 的生成器 (Generators) 提供了一個簡單的方式去實現迭代器 (Iterrators)。如官方文件所說:A generator allows you to write code that uses foreach to iterate over a set of data without needing to build a...

PHP 中的 ...$args,這個 ... 是什麼?

你可能在 PHP 中看過 ...$args 的程式碼,這個 ... 又稱為參數拆包 (arguments unpacking, AKA spread operator),是在 PHP 5.6 加入的功能。... 可以將一個陣列中的參數拆開來並放到新的陣列中。$foo = [1, 2, 3];...

簡單介紹 Laravel 的服務容器

Laravel 提供一種名為服務容器(Service Container)的工具,用來管理類與類之間的依賴與依賴注入。但在介紹服務容器之前,先來介紹一下什麼是依賴?什麼是依賴注入?什麼是依賴?如果一個A類中的方法需要使用到B...

檢查與修正團隊的 Code Style,簡單介紹 PHP CS Fixer

每位碼農的人生成長歷程不盡相同,因此在 Coding 上可能都會有各自的習慣或是風格。在團隊協作開發的時候,不同的 Coding 風格可能會給團隊造成一些困擾,例如:有人喜歡用 4 個空格排版,但有人覺得 2 個空格才剛好...

簡單介紹 PHP 8.1 的列舉 (Enumerations)

PHP 8.1 在前陣子正式推出!加入不少新功能,其中包含最多人期待的列舉 (Enumerations)。列舉可以用來定義一系列的常數設定值,避免在開發時使用無效的設定值。簡單的 enum 設定如下。// 沒有回退 (non-backed) 的 e...

PHP 的引用傳遞與多階層分類

在 PHP 中,我們可以使用等號 ( = ) 將一個值賦予給一個新的變數(應該很多程式語言都是這樣)。$a = 'Hello'; $b = $a;這時候 $b 會新增一個記憶體位址來存放值,如果對 $b 進行修改,並不會影響到 $a 的值。$a =...

用 PHP 簡單介紹 SOLID 原則裡面的 I

此為 SOLID 原則介紹的系列文章之一,所有文章的連結如下。用 TypeScript 解釋 SOLID 原則裡的 S用 PHP 解釋 SOLID 原則裡的 O用 TypeScript 簡單介紹 SOLID 原則裡面的 L用 PHP 簡單介紹 SOLID 原則裡面的 I用 Type...

用 PHP 解釋 SOLID 原則裡的 O

此為 SOLID 原則介紹的系列文章之一,所有文章的連結如下。用 TypeScript 解釋 SOLID 原則裡的 S用 PHP 解釋 SOLID 原則裡的 O用 TypeScript 簡單介紹 SOLID 原則裡面的 L用 PHP 簡單介紹 SOLID 原則裡面的 I用 Type...

避免 Laravel ORM 的 N+1 問題

目前大多框架都會使用 ORM (Object Relational Mapping,物件關係對映) 的方式與資料庫進行互動,ORM 的用途,是將關聯式資料庫的資料表,對應到應用程式中的物件,對資料庫的操作都會使用複雜的物件包裝好並模組化...

在 Laravel ORM 中,使用 AND 與 OR 組合 WHERE 條件的小技巧

有時候在撈取資料表資料的時候,因為 WHERE 條件較為複雜,可能需要使用多個 AND 或是 OR 才能撈取到我們想要的資料。假設我們的 WHERE 過濾條件如下。WHERE ('sex' = 'male' AND age > 18) OR ('sex' = 'female'...