還在為選擇 PHP MVC Framewrok 煩惱嗎? 有興趣的話不妨自己試著打造一個簡易的 MVC Framework 吧。
PHPit 在 Building a simple MVC system with PHP5 一文中教大家如何使用 PHP5 + SPL 製作出簡單的 MVC Framework。
不論是否需要 MVC 架構,這篇文章中使用了許多技巧相當值得學習,例如使用 SPL 的 ArrayAccess 讓 Object 操作起來像 Array 一樣。
(使用前)
$registry->set (‘name’, ‘Dennis Pallett’);
(使用後)
$registry->[‘name’] = ‘Dennis Pallett’;
在getController 範例中,利用 function 的 & 傳址呼叫變數當成 return 來用,也就是把執行結果分別用多個變數來回傳。
function getController(&$file, &$controller, &$action, &$args) {
$file = ‘a’;
$controller= ‘b’;
$action= ‘c’;
$args= ‘d’;
}
(利用 & 把欲回傳的結果放在變數內)
function delegate() {
getController($file, $controller, $action, $args);
echo $file.$controller.$action.$args;
}
(呼叫 getController 後,$file 等 4 個變數就可在 delegate 使用)
以及利用 PHP 的變數動態載入 Controller 及執行對應的 Action:
$class = ‘Controller_’ . $controller;
$controller = new $class();
$controller->$action();
相信文章看完後,除了對 MVC 的架構方式有個概念之外,也能學到一些可以簡化程式碼的小技巧。
Building a simple MVC system with PHP5:
http://www.phpit.net/article/simple-mvc-php5