2011-08-08 174 views
12
<?php 
/* 
    /* this is a comment */ 
*/ 
?> 

PHP返回“语法错误”内多行注释...
这只是使用多行注释完全错误的方式?PHP多行注释

有时我需要注释掉一大块代码进行测试,这个块包含数百行代码,里面有很多行代码。

那么评论这个大块的最好方法是什么?除了从文件中暂时删除它?

回答

12

PHP manual

'C' 的第一个* /遇到风格的注释结束。确保你 不嵌套'C'风格的评论。如果您尝试将大块代码注释掉,则很容易犯这个错误。

<?php 
/* 
    echo 'This is a test'; /* This comment will cause a problem */ 
*/ 
?> 

:(

+0

所以你说,我唯一能做的事情就是多行注释里面要么使用一堆//或删除从文件中暂时阻止? – dudeMatt

+0

@dudeMatt - 是的,不幸的是 - 或者使用一个可以很好地进行“批量替换”的IDE或者创建自己的脚本 – karim79

+0

这是不可靠的,因为'''* *'或'* /''在正则表达式中,无论如何。 – karim79

1

我会说这取决于你的IDE /编辑器。一些IDE的有“注释”功能,它会做的所有行单行注释(//)选定区域,所以你会选择整个区域,然后单击该按钮。

如果您的IDE不具有该功能的话,我觉得你的运气了。

例如,假设这是你的原码

$a = 1; /* sets a = 1 */ 
$b = 2; 
/* 
    blah blah 
*/ 

如果突出显示有些IDE这整个事情,单击注释按钮,你就结了:

// $a = 1; /* sets a = 1 */ 
// $b = 2; 
// /* 
//  blah blah 
// */ 

//评论夺冠,这意味着你只是做你在做什么试图完成。

+0

IDE?编辑?什么样的编辑器会告诉PHP评论代码我的方式?没有!这是一个PHP相关的问题......与编辑无关...... – dudeMatt

+2

老兄,放松。我要说的是,如果您的IDE允许您使用单行注释完成一键评论,那么您只需点击一下即可评论多行代码,并且该批次中是否有多行注释并不重要。看我的编辑。 –

+0

啊啊,带回日月食的记忆...'Ctrl - > /',所有人都有评论 – karim79

2

通过设计PHP语法不会允许这样做。

所以我认为最简单的方法是去除所有/个字符,然后是*

在例如,下面的代码:

/* 

    /* 
    * Comment 1 
    */ 

    /* 
    * Comment 2 
    */ 

*/ 

将成为:

/* 

    /* 
    * Comment 1 
    * 

    /* 
    * Comment 2 
    * 

*/ 
7

有没有好的办法做到这一点所以我通常做的是只使用以下解决方法:

<?php if(false): ?> 

Whatever needs to be commented out. 

<?php endif; ?> 
+0

我还使用了类似的方法'function ignore(){...}' – Dano

+0

作品...最终我开始让我的ide做这个工作......在vim中,你可以很容易地将你的动作设置为'gc',并让它在所有地方添加斜线...... – McKean

0

智能移动只是添加并保存您的整个愿望评论代码部分在“yourCode块。PHP的“,然后

<?php 
/* 
include("yourCodeBlock.php"); 
*/ 
?> 

或 简单的单行注释

<?php 
//include("yourCodeBlock.php"); 
?>