我在MVC模式和智能模板引擎中有一个php应用程序。
我对apache和重写引擎没有任何问题。
并尝试通过以下方式处理我的代码中的url并加载内容:
我将请求拆分为$req
数组:
... load all libs and function required .
$smarty->display('header.tpl');
// main switch case
switch ($req[0]) {
case 'index.php':
require './inc/index.php';
$smarty->display('index.tpl');
break;
case 'list':
$smarty->display('list.tpl');
break;
case 'topic':
$smarty->display('single.tpl');
break;
case 'login':
require_once './inc/login.php';
$smarty->display('login.tpl');
break;
case 'msg':
$smarty->assign('msg', $req[1]);
$smarty->display('message.tpl');
break;
default:
$smarty->display('error.tpl');
break;
}
$smarty->display('footer.tpl');
现在我只是认为我的代码不是优化和非常规,而且太慢, 我如何优化这段代码(总是$ req [0]不是ASCII)?
答案 0 :(得分:1)
最好又快捷的方法是通过req [0]包含一些文件模式:
$fname = './inc/' . $req[0] . '.php';
if (file_exists($fname)) {
include($fname);
}