PHP Data URI 轉換程式

於 HTML 使用 Data URI 的主要好處, 就是網頁不需要另外發 Request 去要檔案, 而且 Gzip 壓縮打開, 據說壓縮效率也會優於圖片壓縮比率.

註: 有優點當然會有缺點, 但是在此就不詳述了, 相關網頁有清楚說明的網頁, 請在自行觀看.

不過, 這些都不是重點, 重點在於需要時就會要用, 不需要用的話, 優點再多也沒用~ 😛

閱讀全文〈PHP Data URI 轉換程式〉

PHP 時區錯誤 強制設定修正

在新灌好的 Debian Wheezy 跑 PHP, 發現時間是錯誤的, 但是 Linux 的 Timezone 設定都正確.

於 Debian / Ubuntu Linux 設定正確 timezone + 時間, 可用下述步驟:

  1. dpkg-reconfigure tzdata # 選 Asia -> Taipei
  2. ntpdate time.stdtime.gov.tw

    Local time is now:      Thu Jul 25 14:35:17 CST 2013.
    Universal Time is now:  Thu Jul 25 06:35:17 UTC 2013.

  3. 但是設定完後, 於 PHP 的 timezone 都還是 Universal Time 的時間.

閱讀全文〈PHP 時區錯誤 強制設定修正〉

PHP 使用 COUNT() 計算 stdClass Object 數量

PHP 要使用 count() 來計算 stdClass Object 數量, 計算出來的數字會有問題, 需要強制轉換成陣列來作計算.

註: 強制轉換方法: (array)$obj_var; 於是就可以 count((array)$obj_var);

閱讀全文〈PHP 使用 COUNT() 計算 stdClass Object 數量〉

好文 - Facebook 的黑客之道 - 2013

Facebook 的黑客之道 的 簡短摘要:

  • PHP 的快速開發能力對 Facebook 以及它所信奉的”黑客之道“來說,顯得尤其關鍵,Facebook 的工程師們勇於尋求改變,並且力求迅速改變,PHP 讓他們能做到這一點。而黑客之道則是驅動著 Zuckerberg 以及全公司前進的不斷迭代的哲學。
  • 從本質上來講,他們不停地更換著網站的地基 -- 而網站本身保持原狀,這就是傳說中的黑客之道。

Facebook 使用 PHP 當底層, 為了 節省資源 + 加快速度, 從最底層(PHP)著手, 發展了下述幾套:

  1. HipHop - 將 PHP code 轉成 C++, 在原始的基礎上提升 500% 至 600%.
  2. HHVM (HipHop Virtual Machine) - HHVM 使用即時編譯,能將 Facebook 的 PHP 代碼在服務器上被執行時轉化為原生計算機語言.

閱讀全文〈好文 - Facebook 的黑客之道 - 2013〉

PHP system()、exec()、shell_exec() 的 差異

PHP 要呼叫 Shell 執行程式的時候, 偷懶有 `ls` 可以使用, 不過, 正規點可以使用 system()、exec()、shell_exec() 這三個 Function 來操作.

system()exec()shell_exec() 這三個 Function 使用上有何差異呢?

閱讀全文〈PHP system()、exec()、shell_exec() 的 差異〉

PHP 使用 Composer 管理套件、函式厙

PHP 套件、函式庫管理官方版都是使用 PEARPecl 等, 但是 PEAR 已經很久沒動靜了, Pecl 的 Package 數量直接瀏覽的話, 心算應該都可以加總完, 所以大家都往其它方向走, ex: PHP Class Scripts.

註: PEAR 套件製作比較繁瑣, 若想製作 PEAR 套件可以使用此工具: Template for Jenkins Jobs for PHP Projects

現在 PHP 有個困擾就是, Package 分散在各地, 需要分開下載、安裝, 升級、管理是個很大的困擾, 不過此問題看來 Composer 都解決掉了, 於是 Package 如雪片般的出現, 詳見: Packagist

註: Amazon Cloud 官方 PHP 套件使用 Composer 來管理.

閱讀全文〈PHP 使用 Composer 管理套件、函式厙〉