【发布时间】:2011-08-08 03:51:32
【问题描述】:
<?php
/*
/* this is a comment */
*/
?>
PHP 返回“语法错误”...这只是使用多行注释的完全错误的方式吗?
有时我需要注释掉一大块代码进行测试,而这个块包含数百行,里面有很多多行cmets。
注释掉这个大块的最佳方法是什么?除了暂时从文件中删除吗?
【问题讨论】:
-
你为什么要这样做?
<?php
/*
/* this is a comment */
*/
?>
PHP 返回“语法错误”...这只是使用多行注释的完全错误的方式吗?
有时我需要注释掉一大块代码进行测试,而这个块包含数百行,里面有很多多行cmets。
注释掉这个大块的最佳方法是什么?除了暂时从文件中删除吗?
【问题讨论】:
来自PHP manual:
'C' 风格的 cmets 在遇到的第一个 */ 处结束。确保你 不要嵌套 'C' 风格的 cmets。如果你很容易犯这个错误 正在尝试注释掉一大段代码。
<?php /* echo 'This is a test'; /* This comment will cause a problem */ */ ?>
:(
【讨论】:
/* 或*/ 是可行的。
没有很好的方法可以做到这一点,所以我通常只使用以下解决方法:
<?php if(false): ?>
Whatever needs to be commented out.
<?php endif; ?>
【讨论】:
function ignore(){ ... }类似的方法
gc 并让它在所有地方添加斜杠...
根据设计,PHP 语法不允许这样做。
所以我认为实现这一目标的最简单方法是删除所有/ 字符,然后是*。
例如,以下代码:
/*
/*
* Comment 1
*/
/*
* Comment 2
*/
*/
会变成:
/*
/*
* Comment 1
*
/*
* Comment 2
*
*/
【讨论】:
我会说这取决于您的 IDE/编辑器。某些 IDE 具有“注释”功能,它将在选定区域的所有行上执行单行 cmets (//),因此您可以选择整个范围并单击该按钮。
如果您的 IDE 没有该功能,那么我认为您不走运。
例如,假设这是您的原始代码
$a = 1; /* sets a = 1 */
$b = 2;
/*
blah blah
*/
如果您在某些 IDE 中突出显示整个内容并单击评论按钮,您最终会得到:
// $a = 1; /* sets a = 1 */
// $b = 2;
// /*
// blah blah
// */
// cmets 获胜,这意味着你只是做了你想要完成的事情。
【讨论】:
嵌套注释的快速解决方案:
将关闭的*/ 变成* /
换句话说:只需设置一个空格。
【讨论】:
为了明智的选择,只需在“yourCodeBlock.php”中添加并保存整个所需的评论代码部分,然后:
<?php
/*
include("yourCodeBlock.php");
*/
?>
或简单的单行注释
<?php
//include("yourCodeBlock.php");
?>
【讨论】: