php – 在Codeigniter视图中有条件语句是否干净?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 在Codeigniter视图中有条件语句是否干净?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1363字,纯文字阅读大概需要2分钟。
内容图文
![php – 在Codeigniter视图中有条件语句是否干净?](/upload/InfoBanner/zyjiaocheng/760/b8fc5dc5a82a44aca62afcaaf0cae811.jpg)
我目前正试图尽可能地将我的观点与我的控制器分开.理想情况下,我想在我的视图中使用最小的PHP,除了变量名等.这些变量是从控制器传入的.
但在视图中使用IF语句(或类似内容)是否干净?
例如
// Controller
$data['status'] = 'pass';
$this->load->view("Status Page", $data);
并..
<!-- View -->
<div>
<?php if($status === 'pass') { ?>
<img src='passIcon.jpg'>Pass
<?php } else { ?>
<img src='failIcon.jpg'>Fail
<?php } ?>
</div>
我在SO上找到答案的最接近的事情是
Conditionals in Views
这是针对ASP的,我猜这些原则仍然适用.我可以将条件语句带回控制器,但是然后控制器将创建HTML并将其发送到视图,这也是不对的.
有没有办法避免这种交叉?或者视图中是否总会有PHP片段?
解决方法:
从我的角度来看,渲染数据是视图的工作,所以如果你需要条件来真实地显示它,那么一定要做,因为它会避免重复的html代码将它拆分为2个视图并测试var中的控制器.
另外一个好的做法是在视图中使用替代语法,因为它使跟随gode更容易.例如:
<!-- View -->
<div>
<?php if ( $status === 'pass' ) : ?>
<img src='passIcon.jpg'>Pass
<?php else : ?>
<img src='failIcon.jpg'>Fail
<?php endif; ?>
</div>
然而,再举几个例子你可以在控制器中设置src(我必须承认有时你需要在视图中使用条件):
调节器
$data['src'] = ( $data['status'] === 'pass' ) ? 'passIcon.jpg' : 'failIcon.jpg';
$data['text'] = ( $data['status'] === 'pass' ) ? 'Pass text' : 'Fail text';
$this->load->view("Status Page", $data);
视图
<!-- View -->
<div>
<img src='<?php echo $src; ?>'><?php echo $text; ?>
</div>
内容总结
以上是互联网集市为您收集整理的php – 在Codeigniter视图中有条件语句是否干净?全部内容,希望文章能够帮你解决php – 在Codeigniter视图中有条件语句是否干净?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。