CakePHP模板的推荐语法(视图)
发布时间:2020-12-13 22:27:24 所属栏目:PHP教程 来源:网络整理
导读:自从我使用Cake PHP之后,我就问自己对CTP文件的推荐语法有了更深层次的认识,它基本上是一个HTML文件,所有PHP代码都用标签括起来.我发现这很难阅读,我认为HTML和PHP之间的上下文切换会增加一些性能损失. 收集字符串中的所有输出并在结束时回显它会不会更快更
自从我使用Cake
PHP之后,我就问自己对CTP文件的推荐语法有了更深层次的认识,它基本上是一个HTML文件,所有PHP代码都用标签括起来.我发现这很难阅读,我认为HTML和PHP之间的上下文切换会增加一些性能损失.
收集字符串中的所有输出并在结束时回显它会不会更快更清晰? 但是有一些更深层次的意义肯定,只是我没有看到它.. 为了让自己更清楚,这是一个例子: CakePHP的: <?php if (!empty($file['User']['email'])): ?> <div class="mailto"><?php echo $this->Html->link($file['User']); ?></div> <?php endif; ?> <?php if (!empty($file['Document']['comments'])): ?> <div class="file-comment file-extra column grid_6"> <div class="content"><?php echo $file['Document']['comments']?></div> </div> <?php endif; ?> 我的方法: <?php $out = ''; if (!empty($file['User']['email'])) { $out .= '<div class="mailto">'.$this->Html->link($file['User']).'</div>'; } if (!empty($file['Document']['comments'])) { $out .= '<div class="file-comment file-extra column grid_6">' .'<div class="content">'.$file['Document']['comments'].'</div>' .'</div>'; } echo $out; ?> 所以我的问题是:与CakePHP相比,我的方法有哪些缺点? 解决方法
首先要做的事情是:将整个模板编写为PHP,然后回显它并不是一个好主意.作为一般的经验法则,如果可以的话,我会避免从PHP回显HTML.有很多原因,但主要原因是IDE中缺少语法高亮.
无论如何,代码格式完全取决于个人偏好,但如果您正在编写这样的模板: <?php if (!empty($file['User']['email'])): ?> <div class="mailto"><?php echo $this->Html->link($file['User']); ?></div> <?php endif; ?> <?php if (!empty($file['Document']['comments'])): ?> <div class="file-comment file-extra column grid_6"> <div class="content"><?php echo $file['Document']['comments']?></div> </div> <?php endif; ?> ……难怪你无法阅读它们. 您可以尝试一些方法,使您的代码更清晰,更易于阅读.同样,这些都取决于您个人的偏好,您可能养成使用其中一些或全部的习惯. >使用子元素的缩进正确格式化HTML. 例 <?php $user = $file['User']; $comments = $file['Document']['comments']; ?> <!-- User --> <?php if (!empty($user['email'])) : ?> <div class="mailto"><?= $this->Html->link($user); ?></div> <?php endif; ?> <!-- File Comments --> <?php if (!empty($comments)) : ?> <div class="file-comment file-extra column grid_6"> <div class="content"><?= $comments; ?></div> </div> <?php endif; ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |