PHP这种写法是有什么好处?
我发现很多MVC模式的VIEW层(比如有的搜索页面等必须写php代码时)写php代码,都是类似以下写法,感觉很是不理解, 不知道为什么要这样写(以下代码懂,意思不理解)。
比如要循环打印一个水果数组(不能理解为什么要这样写,代码懂,这样做的目的不明白):
<?php foreach($arr as $v){ ?><!--然后是一段html代码--><?php echo $v; ?> :<span>新鲜水果</span><br/><?php } ?>
好杂乱啊,,,,怎么到处都是php代码,而且有N个php标签,不能像下面一样一次写完吗?
我想的是这样就很好啊(我想像中应该这样,反正都要有php,还不如爽快点):
<?phpforeach($arr as $v){echo $v."新鲜水果<br/>";}
但是很多官方程序都是这样搞的如dede搜索页,zend framework一些页面,还有老师等都是最上面的写法,太不理解了,如果说是为了mvc分离,但是上面感觉没怎么分离啊,反而感觉很 杂乱。。。。求解。。。。
参考以下zend framework的一段if语句的写法就是这种杂乱式的大杂烩:
<?php if (isset($this->exception)): ?> <h3 id="Exception-nbsp-information">Exception information:</h3> <p> <b>Message:</b> <?php echo $this->exception->getMessage() ?> </p> <h3 id="Stack-nbsp-trace">Stack trace:</h3> <pre class="brush:php;toolbar:false"><?php echo $this->exception->getTraceAsString() ?>
Request Parameters:
<?php echo $this->escape(var_export($this->request->getParams(), true)) ?>
回复讨论(解决方案)
这就是php的特点,将程序嵌入到HTML文档中去执行,这样极大的提高了执行效率。
这就是php的特点,将程序嵌入到HTML文档中去执行,这样极大的提高了执行效率。
直接像我一样写一个整体php有什么问题吗?
而且上面的写法为了封尾,还出现了
这样感觉没什么意思的东西,,然后,,,,这种写法的php好像语法有点变异的感觉啊,和正常的php不太一样,不是很理解。。。。
这是鼻祖写法,最早的php就是这样的
好像思想取自 server side include
有什么要理解的,只需记住那样写执行效率高就行了。你自己也知道框架/cms 都采用这种写法,应该就能明白了。
代码混写最大的好处是“方便”,缺点也不言而喻“混乱”
方便与维护性永远是向左右向右走,看你选择哪边而已
你的第一种写法是:在 HTML 中嵌入 PHP
你的第二种写法是:在 PHP 中嵌入 HTML
两者都一样,就看你把谁作为主体了
在HTML中嵌入PHP代码相对于PHP中嵌入HTML代码的在阅读和编写方面的优势一个是可以利用IDE对HTML代码的高亮和代码提示,另一个是不需要对特殊字符进行转义。
维护效率比较低,还是程序与界面分离。
在HTML中嵌入PHP代码相对于PHP中嵌入HTML代码的在阅读和编写方面的优势一个是可以利用IDE对HTML代码的高亮和代码提示,另一个是不需要对特殊字符进行转义。
有点认同
mvc v里面也要判定的 只是每个角色不一样
其实你的例子有局限性,如果是foreach包含的是100-200行的html标记字符串的话,你如果用php嵌入html的话,肯定是大段的字符串,很难保证大段的字符串不出现html标签错误,而简单使用html包含php的话,则很容易检测html中的错误。
PHP里echo出html的话你会因为编辑界面时无法对html实施高亮方案(全部用PHP字符串着色方案)而不好维护代码.
其实也没什么乱的,写习惯就好了,就像HTML一样有起始标签就有结束标签,PHP也一样,比如这样写看不习惯就当成HTML语言写好了,个人还是习惯用
感觉看的舒服
你们居然在讨论这么高深的问题。
菜鸟表示围观一下 就可以了
因为那些家伙可能需要用dw之类工具看html代码
混编...........
可能是怕别人改代码吧

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、
