Nyx*_*nyx 0 php model-view-controller codeigniter
让我们参考Yelp上的" 排序依据 "部分:
我有3个anchor()函数生成3个链接.当选择"排序依据"选项之一时,我想删除超链接/锚点()并将其加粗以显示它被选中,就像在上面的页面上一样.
现在我正在考虑对$ arr执行uri_to_assoc(),因为所选的选项将在url中,如controller/function/sort_by/best_reviews/..,然后基于什么是键(best_reviews)或元素(sort_by) ,在视图中使用以下代码
<?php
$arr = uri_to_assoc(3);
if($arr['sort_by'] == 'best_reviews') {
echo "<strong>Best Reviews</strong>";
} else {
anchor('controller/function/sort_by/best_reviews', 'Best Reviews');
]
?>
Run Code Online (Sandbox Code Playgroud)
现在我相信MVC的想法是在视图中保留一些PHP代码(逻辑代码?).在这种情况下,您是将上面的代码放在视图中,还是在控制器/模型中使用该逻辑然后传递最终代码以在数组中显示(echo或anchor())并在视图中回显数组?.
.
迷你问题(PHP)
如果在url中不存在/ sort_by/variable的情况下未定义$ arr ['sort_by'],则语句if($ arr ['sort_by'] =='best_reviews')将给出错误.您是否将所有上述代码嵌套在if(isset($ arr ['sort_by'])){}中?