【发布时间】:2010-12-21 13:01:03
【问题描述】:
是否有人使用像 phpHaml 或 pHAML 这样的 PHP 的 HAML 实现?这两个项目在大约 2 年内都没有活动,并且都
有人对 CakePHP 的 Chaml 有经验吗?我玩过它,它似乎对空白非常挑剔,我认为这可能会在一个有许多开发人员的大型项目中引起一些麻烦。
我真的很想使用 HAML 或类似它的简约的东西,但我不希望它添加另一层调试问题。欢迎提出建议。
【问题讨论】:
是否有人使用像 phpHaml 或 pHAML 这样的 PHP 的 HAML 实现?这两个项目在大约 2 年内都没有活动,并且都
有人对 CakePHP 的 Chaml 有经验吗?我玩过它,它似乎对空白非常挑剔,我认为这可能会在一个有许多开发人员的大型项目中引起一些麻烦。
我真的很想使用 HAML 或类似它的简约的东西,但我不希望它添加另一层调试问题。欢迎提出建议。
【问题讨论】:
我的专长不是 HAML,而是 CakePHP,所以我只能回答你的部分问题。 CakePHP 是一个紧密耦合的框架,因此您可以使用它或反对它。如果您想使用不同的模板引擎,例如 HAML,您最好使用松散耦合的框架,例如 Code Igniter 或 Zend。
有关更多信息,请参阅有关使用 Smarty in Code Igniter or Zend 的主题 - 使用 HAML 也适用相同的原则。
【讨论】:
var $view = 'MyView'; 来替换 Cake 中的 View 层真的没什么大不了的,因此这不是问题的重要部分。 :)
哦,好吧,与此同时,我确实开始使用 Chaml 编写一个小型站点,它使用 phpHaml 解析器。首先:HAML 非常有趣! X-D
第二:phpHaml 还是有一点问题。我遇到过这样的情况
= $html->link('Something', '/somewhere')
成功
<?php echo $html->link('Something', '/somewhere'); ?><?php echo $html->link('Something', '/somewhere'); ?>
如果以下行留空。在下一行插入一些东西删除了重复项。这意味着您始终需要仔细检查您实际上是在生成您认为的标记。
Chaml 插件运行良好,我没有遇到任何特殊问题。包含的 SASS 解析器并不值得讨论,它充其量只是实验性的。
总的来说,现阶段 PHP 上的 HAML 确实增加了一点调试开销,所以我不建议任何人都使用它。如果您不得不输入负载和标记负载,这可能是值得的。
我目前正在尝试决定是深入使用 phpHaml 解析器还是切换到 Rails 是更好的决定。 ;)
【讨论】:
请参阅:http://haml-to-php.com/related%20work.html。这取决于您要使用多少 HAML 功能。他们中的大多数人都得到了简单的 HAML 权利。但是,如果您还想要引用和高级功能,例如 %div{:attr=>"foo_#{ php code }"} 我不知道除了 HAML-TO-PHP 之外的所有功能
【讨论】: