2019年4月24日

MySQL/MariaDB中的collation是什麼?

在MySQL/MariaDB資料庫欄位中儲存文字資料時,會需要決定儲存時使用的文字編碼,比如說常見的utf8或是該被淘汰的big5都是一種文字編碼,這些編碼又被稱為character sets,字符集。在不同的字符集當中,對於人類所認知的同樣的一個字,會使用不同編碼儲存。

2019年2月26日

PHP Composer Autoload PSR-0、PSR-4與classmap的差別及autoload optimize

PSR-0PSR-4都是PHP-FIG制定的PHP Autoloader標準,而透過composer的協助,開發者可以方便的使用這些Autoloader。

所謂的autoloader自然就是提供自動載入類別的功能,開發者不需要自己在每支檔案前reuqire或include所有需要的類別。

2019年2月24日

Laravel 如何修改 View Cache 的路徑

在Laravel 5.7中,Blade Engineer 編譯完 Blade 樣板後,會針對這次編譯完的結果產生快取檔案,以加快下次讀取速度,節省每次重新編譯的時間。

有兩種簡單的方法可以修改Laravel View快取的預設路徑。

2019年1月1日

PHP 過時了嗎? 2019了,還適合學習PHP嗎?

Is it still okay to learn PHP in 2019?

剛開始學習網站後端開發的人,常常會問:哪一種語言最適合作為後端語言?PHP、Python、javaScript(Node.js)還是ruby(RoR)?其實這個問題沒有標準答案,要看各自的考量還有需求。而我這邊的看法很單純,那就是不管其他語言怎麼樣,PHP並不會是一個差勁的選擇。

為什麼?以下幾點是PHP的好處:

  1. 對新手友善
  2. 資源豐富
  3. 逐漸現代化
  4. 不怕沒工作

以下我會稍微簡述這幾點。

2018年12月30日

單一職責原則。到底什麼是改變的理由?

Single responsibility principle(SRP). What defines a reason to change?

在物件導向開發中大家或多或少聽過SOLID,SOLID的每個字母分別代表了物件導向開發中的五個原則,本篇的重點是其中的S,也就是Single responsibility principle(SRP),單一職責原則。

什麼是單一職責原則呢?最廣泛也最常聽到的的定義是Robert C. Martin所說的:

A class should have only one reason to change.

翻譯成:一個類別只能有一個改變的理由(原因)。

那麼問題來了,到底什麼改變的理由(原因)?

2018年12月25日

PHP如何衡量程式記憶體用量 - memory_get_usage 與 real_usage

How to measure memory usage in PHP script

前言

PHP主要有兩個內建函式可以用來取得程式的記憶體用量,它們分別是 memory_get_usagememory_get_peak_usage

本篇將會介紹 memory_get_usage 的用法,以及簡述何謂 real usage。

2018年12月21日

PHP例外處理在商業邏輯上的應用(一)使用繼承

PHP exception handling in business logic - using Inheritance

前言

開發人員開發時經常會遇到一個狀況是,某支程式隨著需求不斷變更與增加,條件判斷越來越多、越來越複雜,程式的流程越來越混亂,閱讀程式時必須跳來跳去,程式漸漸變得難以理解,令人頭痛不已。

這種時候例外處理就可以派上用場了!

簡介

所謂的例外處理(Exception Handling),不外乎就是專門處理例外情況的發生,異常、錯誤等例外,這是現代程式語言常見的功能,隨著PHP版本的更新,PHP對例外處理的支援度及彈性也是越來越高。對開發人員來說,我們可以在程式中藉由妥善地利用例外處理機制,來增加程式的可讀性以及可維護性。

2018年12月16日

認識PHP魔術方法: __call(應用篇)

Introduce to php magic method: __call (Application)

本篇為PHP系列

上一篇:認識PHP魔術方法: __call

前言

在上一篇文章中,我們說明了 PHP 魔術方法:__call(),還不熟悉或想要複習的朋友可以閱讀上一篇,而本篇會接著討論 __call() 的一些應用方式,給大家參考。

2018年12月15日

認識PHP魔術方法: __call

Introduce to php magic method: __call

本篇為PHP系列

下一篇:認識PHP魔術方法: __call(應用篇)


前言

PHP 提供了一些懶人方法,這些懶人方法在特殊的情況下會自動觸發,可以省去開發人員自己攥寫程式的麻煩,相當方便。而這些懶人方法就是所謂的 Magic Method,也就是魔術方法。

本篇將會介紹其中一種魔術方法:__call。