Ste*_*hen 8 php cakephp html-helper implode
我刚刚重新格式化了CakePHP应用程序的默认布局.通过将几乎所有内容放在html帮助器方法中,我尽可能地消除了内联html.
这很有趣,但我想知道我从这次练习中获得了什么好处,如果有的话?
<?php
$output = implode("\n", array(
$html->docType(),
$html->tag('html', implode("\n", array(
$html->tag('head', implode("\n", array(
$html->charset(),
$html->tag('title', 'Title For App'),
$html->css('css', NULL, array('media' => 'screen,print')),
$html->css('print', NULL, array('media' => 'print')),
$html->script(array('cufon', 'jquery','external'))
))),
$html->tag('body', implode("\n", array(
$html->tag('div', $content_for_layout, array('id' => 'wrapper')),
$html->scriptBlock('Cufon.now();')
)))
)), array('xmlns' => 'http://www.w3.org/1999/xhtml'))
));
echo $output;
?>
Run Code Online (Sandbox Code Playgroud)
我想至少它看起来很漂亮和紧凑,并且非常易读.在这种情况下我应该注意哪些陷阱?我应该知道任何速度问题吗?
我喜欢它 - 而我却不喜欢它.
我想我需要说服这种或那种方式.
如果你想知道,在查看源代码时,内容在html中放置了很好的换行符.
Leo*_*Leo 10
几年前我在Google小组讨论过这个问题.最后,你会意识到,除非你需要以编程方式操作东西,否则它不会产生很大的差别 - 然后,如果你使用HTML路由,你会发现你的代码充满了<?php
和/ ?>
或字符串连接或双引号变量替换.
现在,许多应用程序都在线下,我更喜欢维护比标记更多帮助的应用程序.
帮助程序没有涵盖很多HTML,因此您无法避免混合,但您可以尽可能使用帮助程序来最大限度地减少复杂性和混淆.当你开始使用表单时,你会得到很多安全的东西,ID和NAME格式化了CakePHP喜欢的方式.
PHP和CakePHP就是为此而构建的.为什么只使用半个语言或半个框架?
这样做的无可否认的好处是100%正确的语法,因为你已经删除了任何指法和缺少打开/关闭标签的可能性.我从经验中可以告诉你的是,从现在开始的半年内,阅读和修改这个结构的难度是其两倍.插入条件元素也很困难.你需要在这里求助于三元运算符,这使得事情的可读性更低.
总的来说,我建议使用传统的HTML/PHP组合.