用 PHP5 打造简易的 MVC 架构
还在为选择 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 的架构方式有个概念之外,也能学到一些可以简化程序代码的小技巧。