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

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

PHP 中的多載(Overloading)

PHP 中的多載 (Overloading) 跟其他語言的多載不太一樣,但我本身是菜雞工程師,其他程式的多載我沒有概念,只能說過我碰最深的 (雖然還是淺) ,也就是 PHP。根據官網的說法,PHP 的多載 (Overloading) 目的在於動態...

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

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

用 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...

PHP 8 中的新特性(二), Constructor property promotion

Constructor property promotion,不知道怎麼翻譯,建構子屬性提升?首先先來一段 Code。<?php class TestClass { public string $one public string $two // 建構子(別稱:構造函式) public function _...

PHP 的 Type Declarations(類型宣告)

在介紹 PHP 的 Type Declarations (類型宣告) 前,先來簡單解說一下引數與參數的意思。引數 (Argument):用於呼叫函式(function)時所給的變數。參數 (Parament):是函式中要使用的變數。<?php // 這裡的 $name...

PHP 中 array_slice 該如何使用

array_slice() 簡單來說就是陣列分割 (切片),可以給四個參數,第四個參數預設值是 false (重置 key 值)。array_slice(陣列變數, 從哪裡開始, 要取幾個值 , 是否要保留原來的 key 值)假設今天有一個陣列。$testArray...

PHP 8 中的新特性(一), match 語句

PHP 8 新增了一個新的 expression (語句) match,本文會來介紹一下 match 語句如何使用。在介紹 match 之前,首先要介紹 switch,switch 在很多程式語言裡面都有,當你需要用到很多的 if 與 else 時,可以考慮使用 s...

簡單介紹 Laravel 的 DB Transactions

MySQL 資料庫,PHP 的好夥伴,在當前的版本中,MySQL 資料庫基本上都是使用 innoDB 作為預設的資料庫引擎。innoDB 與之前 MyISAM 相比,支援了 ACID 相容的交易(Transaction)功能。所謂的交易,是資料庫管理系統執...