2011-08-08 124 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"); 
?>