it-swarm.com.ru

PHP Многострочный комментарий внутри многострочного комментария

<?php
/*
    /* this is a comment */
*/
?>

PHP возвращает "синтаксическую ошибку" ...
Это просто неправильный способ использования многострочного комментария?

Иногда мне нужно закомментировать большой блок кода для тестирования, и этот блок содержит сотни строк, и внутри есть много многострочных комментариев.

Так какой же лучший способ закомментировать этот большой блок? кроме того, чтобы временно удалить его из файла?

14
dudeMatt

Из руководство по PHP :

Комментарии в стиле 'C' заканчиваются на первом */встреченном. Убедитесь, что вы не вкладываете комментарии в стиле "С". Эту ошибку легко совершить, если вы пытаетесь закомментировать большой блок кода.

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

:(

12
karim79

Нет хорошего способа сделать это, поэтому я обычно использую следующий обходной путь:

<?php if(false): ?>

Whatever needs to be commented out.

<?php endif; ?>
7
McKean

Синтаксис PHP не позволяет этого делать.

Поэтому я думаю, что самый простой способ добиться этого - удалить все символы /, за которыми следует *.

Например, следующий код:

/*

  /*
   * Comment 1
   */

  /*
   * Comment 2
   */

*/

станет:

/*

  /*
   * Comment 1
   *

  /*
   * Comment 2
   *

*/
2
kenorb

Я бы сказал, что это зависит от вашей IDE/редактора. Некоторые IDE имеют функцию "комментарии", которая будет делать однострочные комментарии (//) по всем строкам выбранной области, поэтому вы должны выбрать весь диапазон и нажать эту кнопку.

Если у вашего IDE нет этой функции, я думаю, вам не повезло.

Например, предположим, что это ваш оригинальный код

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

Если вы выделите все это в некоторых IDE и нажмете кнопку комментария, вы получите:

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

Комментарии // выигрывают, что означает, что вы просто сделали то, что пытаетесь достичь.

1
Joe Enos

для умного перемещения просто добавьте и сохраните весь раздел с кодами комментариев в "yourCodeBlock.php"

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

или простой однострочный комментарий

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

Быстрое решение для вложенного комментария:

Превратите закрывающий */ в * /

Другими словами: просто установите один пробел.

0
Kai Noack