PHP7 效能分析工具 XHProf

Facebook 2009年開發的 XHProf 只能使用在 PHP5,PHP7 需要找善心人士改寫的版本

閱讀全文〈PHP7 效能分析工具 XHProf〉

PHP 使用 igbinary 取代 serializer

PHP Serializer 從最早期的資料格式,一直用到現在,有時候會出一些問題(encode / decode 失敗等等的),所以現在很常使用 json_encode / json_decode 來處理。

現在有出 igbinary 來解決這個問題,而且速度比 serailizer 和 json 快很多。

閱讀全文〈PHP 使用 igbinary 取代 serializer〉

PHP7MAR:協助找出哪些程式需要由 PHP5 升級到 PHP7 的工具

程式要將 PHP5 升級到 PHP7,大多數都好解決,主要是 DB 若還是傳統 MySQL Library (mysql_*),沒有轉換成 PDO 就會比較麻煩

這套程式可以幫忙掃出哪些還是舊的 PHP5 的寫法,需要轉換成 PHP7 的

閱讀全文〈PHP7MAR:協助找出哪些程式需要由 PHP5 升級到 PHP7 的工具〉

PHP 4.1.0 以前變數 與 現在預設變數 的對應

PHP 4.1.0 以前的版本,全域變數還沒有 $_GET、$_POST、$_SERVER 可以用,都是 $HTTP_* 來處理,遇到這種舊版的 Code 要怎麼對應來修改?

閱讀全文〈PHP 4.1.0 以前變數 與 現在預設變數 的對應〉

PHP 取得本月份最後一天的日期

PHP 要抓取本月份的最後一天,一般都是抓下個月第一天,然後轉成 timestamp - 3600 秒 (減1秒也行,只要到上個月的前一天就好),來取得上個月的最後一天。

PHP 的 date 使用 "t" 就可以抓到此月份最後一天的日期,如下述範例:

<?php                                                                                                                                                                                                    
echo date('Y-m-t', strtotime('now')); // 2017-07-31                                                                                                                                                         
?>

註:strtotime('now') 可省略

PHP preg_replace 針對多行的 regex 判斷參數

PHP 使用 preg_replace() 要做 regex 的字串取代很方便(單行),遇到多行每次都>要測試是要用 m 還是 s,還是做個紀錄好了~

  • 先說結論:preg_replace 要對多行做 regex 判斷,要用 s

閱讀全文〈PHP preg_replace 針對多行的 regex 判斷參數〉

Syntastic:Vim 存檔自動做「語法檢查」的外掛套件

每次在寫完部份段落的程式後,都會需要執行看看有沒有 syntax error,看有沒有漏了 {} 之類等等的問題。

Vim 想要在每次存檔時,自動執行 syntax check 可以使用 Syntastic 的外掛套件來達成。

註:此篇 Syntastic 的設定範例是使用 PHP 和 Python

閱讀全文〈Syntastic:Vim 存檔自動做「語法檢查」的外掛套件〉

PHP 於 CLI 單行直接執行的用法

PHP 想要像 Perl、Python 可以單行執行,或者是 cat、tail -f 持續餵資料給程式接收,要怎麼做呢?

範例取自:Decoding URL encoding (percent encoding)

  1. alias urldecode='python -c "import sys, urllib as ul; print ul.unquote_plus(sys.argv[1])"'
  2. alias urlencode='python -c "import sys, urllib as ul; print ul.quote_plus(sys.argv[1])"'
  3. urldecode 'q+werty%3D%2F%3B'
    • q werty=/;
  4. $ urlencode 'q werty=/;'
    • q+werty%3D%2F%3B

閱讀全文〈PHP 於 CLI 單行直接執行的用法〉