我必须更改我的项目并删除视图中的所有PHP代码。项目是用CodeIgniter编写的。
我实现了用解析器类消除php代码,但该类没有条件(if,else,..)。到目前为止,我尝试安装一些模板引擎但没有任何成功。每个教程都缺少一步,或者某些步骤没有明确解释。
任何人都可以帮助我并告诉我应该去哪个方向或做什么。也许解释一下我可以在控制器中做出所有陈述,只列出我需要的东西。
答案 0 :(得分:0)
如果你想消除你视图中的所有php标签
<?php //logic ?>
您可以单独使用smarty,也可以使用CI或其他类似的系统。但是你需要学习新的sintax作为php。
另一方面,你可以在你的控制器中制作你的ogic(不推荐)
Controller.php这样
function do_somthing(){
$var_l = '<table>';
$var_l .= '<thead>';
$var_l .= '<th>uno</th>';
$var_l .= '<th>dos</th>';
$var_l .= '<th>tres</th>';
$var_l .= '</thead>';
$var_l .= '<tbody>';
$a = array('a', 'b', 'c');
foreach($a as $item){
$var_l .= '<thc'.$item.'</th>';
}
$var_l .= '</tbody>';
$var_l .= '</table>';
$data['table'] = $var_l;
$this->load->view('view', $data);
}
你的view.php
<!DOCTYPE html>
<html>
<body>
info to display table
<?= $table ?>
</body>
</html>
答案 1 :(得分:0)
我在codeigniter中定期解析,并以这种方式完成:
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<?php echo $content ?>
</body>
</html>
在这样的控制器中:
$query = $this->users_mod->allProducts();
$data = array(
'ap_heading' => 'Product definition',
'ap_entries' => $query,
);
$content = $this->parser->parse('allproducts', $data, TRUE);
$this->load->view('template', compact('content'));
我可以在控制器中以某种方式避免这种情况:压缩('内容')和php在视图中?