從 PHP4 到 PHP5 , PHP 不只改善了個體 (object) 的成員保護程度,也引入了 PHP 稱為「magic methods」的特殊行為。 Magic methods 提昇了 PHP 的動態性,活用 magic methods 可以大幅減少程式碼中類似的重覆行為,並為 programmer 帶來更開放與直觀的程式撰寫彈性。
...繼續閱讀從 PHP4 到 PHP5 , PHP 不只改善了個體 (object) 的成員保護程度,也引入了 PHP 稱為「magic methods」的特殊行為。 Magic methods 提昇了 PHP 的動態性,活用 magic methods 可以大幅減少程式碼中類似的重覆行為,並為 programmer 帶來更開放與直觀的程式撰寫彈性。
...繼續閱讀在 Regular Expression (REGEX) 的語法中,有一種方式可以讓我們將 subpatterns 的內容存放在一個數值索引陣列,而以 $1, $2, $3, ... (或 \1, \2, \3, ...) 的敘述方式取用。雖然這已經很方便了,但仍然有缺點,就是比對結果不易理解,時日一久,很容易忘記 $1, $2,... 各是代表什麼意思。所以 PHP 在 4.3.3 版之後增加了一個新語法,可以指派名稱給 subpattern ,這個語法格式是: (?P<name>pattern) 。如此一來就可以將 subpatterns 的內容存放在一個關聯陣列 (associative array) 中,可以鍵值取用,提高程式可讀性。
...繼續閱讀自 PHP 5.2 起,正式納入 JSON extension 。函數名稱跟 php-json 一樣是 json_decode()/json_encode() 。稍微要注意 json_decode() 多加了一個選擇性的參數。 PHP 官方的 json_decode() 對於 Object of JSON 的回傳型態是個體 (object) 而不是陣列 (associative array) ,但可以指定第二個參數為 true 以回傳陣列。這個差異是基於 JavaScript 和 PHP 的語法不同。對 JavaScript 而言, obj.member 和 obj['member'] 是等義的,兩者都是個體成員存取操作。對 PHP 而言, $obj->member 和 $obj['member'] 卻是不等義的,前者是個體成員存取操作,後者則是陣列索引子操作。
...繼續閱讀PHP 5.2 新版發佈的時間 (2006-11-02) 真是快的超乎我預期,重大功能加了不少。我摘要重要內容加以說明並評註一番。 PHP 5.2 UPDATE 全文請見《PHP 5.2 UPDATE》。
...繼續閱讀在 PHP 社群中, Zend Framework 是最具 PHP 官方色彩的 framework ,雖然還在發展階段,但已足夠應付常見的應用程式需求。 developerWorks 刊載了 Zend Framework 入門連載,全系列文章尚未完結。
...繼續閱讀接觸 PHP 多年,常常有人向我請教 PHP 和 ASP.Net 的不同。基本上, PHP 和 ASP.Net 是不一樣的東西,不能放在一起比較。因為PHP 是一個程式語言 (programming language) ,而 ASP.Net 是一個 framework 。有人說用 ASP.Net 開發 Web 程式很快,可是 PHP 很麻煩。這說法並不正確,如上所言,這兩者是不一樣的。 PHP 雖然和 Web 程式的開發工作緊緊聯繫,但它依然是一個程式語言, programmer 仍然需要處理一些 HTTP/CGI 的細節。在「程式語言」這個基準下,如果沒有 ASP.Net 這個 framework ,單單使用 VB, C# 這些程式語言來開發 web 程式,那可比 PHP 要難上好幾倍了。
...繼續閱讀What is JSON (JavaScript Object Notation): Introducing JSON
目前已有多種方式可在 PHP 中運用 JSON 。個人建議使用 php-json ,這是 C 語言實作的 PHP extension 。
...繼續閱讀使用 PHP 的 serialize, compress 及 encode 函數,將 serialized object 儲存在網頁表單中。有 ASP.Net 使用經驗者,這即是 ViewState 的原理。
...繼續閱讀Photo163 相冊圖檔網址計算器。把圖檔的網址解析出來後列表,將網址複製後,再交給下載工具如 Flashget 就 OK。程式是用 PHP 寫的,有用到 curl 。其實用 JavaScript 寫也可以,改天再出 JavaScript 的。
...繼續閱讀