PHP这种写法是有什么好处?
本帖最后由 u010572351 于 2013-06-24 21:21:33 编辑
我发现很多MVC模式的VIEW层(比如有的搜索页面等必须写php代码时)写php代码,都是类似以下写法,感觉很是不理解, 不知道为什么要这样写(以下代码懂,意思不理解)。
比如要循环打印一个水果数组(不能理解为什么要这样写,代码懂,这样做的目的不明白):
<?php foreach($arr as $v){ ?>
<!--然后是一段html代码-->
<?php echo $v; ?> :<span>新鲜水果</span><br/>
<?php } ?>
好杂乱啊,,,,怎么到处都是php代码,而且有N个php标签<?php ?>,不能像下面一样一次写完吗?
我想的是这样就很好啊(我想像中应该这样,反正都要有php,还不如爽快点):
<?php
foreach($arr as $v){
echo $v."新鲜水果<br/>";
}
但是很多官方程序都是这样搞的如dede搜索页,zend framework一些页面,还有老师等都是最上面的写法,太不理解了,如果说是为了mvc分离,但是上面感觉没怎么分离啊,反而感觉很
杂乱。。。。求解。。。。
参考以下zend framework的一段if语句的写法就是这种杂乱式的大杂烩:
<?php if (isset($this->exception)): ?>
<h3>Exception information:</h3>
<p>
<b>Message:</b> <?php echo $this->exception->getMessage() ?>
</p>
<h3>Stack trace:</h3>
<pre><?php echo $this->exception->getTraceAsString() ?>
</pre>
<h3>Request Parameters:</h3>
<pre><?php echo $this->escape(var_export($this->request->getParams(), true)) ?>
</pre>
<?php endif ?>
------解决方案--------------------这就是php的特点,将程序嵌入到HTML文档中去执行,这样极大的提高了执行效率。
------解决方案--------------------这是鼻祖写法,最早的php就是这样的
好像思想取自 server side include
------解决方案--------------------有什么要理解的,只需记住那样写执行效率高就行了。你自己也知道框架/cms 都采用这种写法,应该就能明白了。
------解决方案--------------------代码混写最大的好处是“方便”,缺点也不言而喻“混乱”
方便与维护性永远是向左右向右走,看你选择哪边而已
------解决方案--------------------