【发布时间】:2012-01-28 16:24:36
【问题描述】:
我有一个更大的应用程序,它在 php 中使用 Frontcontroller 来处理传入的 ajax 请求。我正在考虑一种处理 Action->Method 映射的好方法,这个控制器负责实例化其他类并在那里执行方法。
开关太大了,太丑了。我正在考虑创建一个数组并简单地做:
if(in_array($action, $methodmap)){
$methodmap[$action]();
}
但不确定效率如何或是否有任何其他更好的选择,性能很重要,因为此控制器处理大量传入请求。
谢谢!
【问题讨论】:
-
您将使用
isset()代替in_array()。哈希映射在交换机上的速度差异是possibly even measureable。
标签: php oop switch-statement front-controller