1

是否有一个简单的解决方案来做相当于 Java 的评论:

<%-- this is a comment inside a template, it does not appear in the output HTML --%>

即使你使用简短的 php 标签,你仍然必须在 php 标签之上用注释语法包装注释:

<? /* this is a comment of the html template */ ?>

我正在考虑对输出模板进行某种过滤,以删除所有 html 注释,或者更好的是,像上面的 Java 语法这样的自定义注释,但你将如何以最有效的方式做到这一点?您必须运行正则表达式对吗?

我的问题的原因很简单,在 MVC 框架中,使用组件和可重用的 html 模板(想想 YUI),我需要以可读的方式清楚地记录这些模板。

4

5 回答 5

3

不是我知道的,但是短标签加上块注释非常容易 - 就像你上面提到的 JSP 注释一样容易键入:

<?/* This is a comment */?>

甚至

<?// this is a comment ?>

对于更复杂的 PHP 模板系统,例如 Smarty,还有其他语法。

于 2009-02-27T16:48:44.160 回答
1

关于你的短标签的事情,我会为此加 2 美分。

在对模板进行评论之前,您需要仔细考虑这一点。短标签在任何地方都不受支持,因为它不是标准的东西。它很有用,但最有可能引起麻烦。

因此请确保使用完整的 php 标签 (

于 2009-02-27T17:06:25.133 回答
0

这些不应该工作吗?

<? # This is a comment ?>
<? // This is a comment too ?>

这不是太冗长了吧?

于 2009-02-27T16:46:16.040 回答
0

Triptych 对于 php 标签内部是正确的。在外面,<!-- Comment here -->仍然有效。

于 2009-02-27T16:47:45.707 回答
0

如果您真的想/必须使用纯 php 进行模板

    <?# 这似乎是发表评论的最佳方式?>
    <?/* 但是
         屏蔽评论
         看起来很丑恕我直言*/?>

但我认为 PHP 和 JSP 之间存在很大的概念差异 - 不是在其现实世界的使用场景中,而是它们的创建/设计目的。

虽然 JSP 显然被构建为 Java Web 应用程序的“视图”或“表示”部分,控制逻辑尽可能少,但 PHP 开始时类似于 Perl,但更专注于 Web 开发。

因此,您的用例(可重用的 MVC 框架)似乎需要一种单独的 PHP 模板语言,如SmartyPHPTAL,它们比普通的 PHP 更适合将表示与逻辑分开。这样,您将像使用 JSP 一样将 PHP 用于模型和控制器部分以及模板语言(是的,大多数模板引擎都支持对模板/模板块进行注释,比 PHP 好得多)。

亲切的问候

阿尔格尔巴格尔

于 2009-02-27T17:02:15.003 回答