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

PHP devuelve "error de sintaxis" ...
Se trata sólo de una manera completamente incorrecto usar comentario de varias líneas?PHP Líneas Múltiples comentario dentro de Líneas Múltiples comentario

A veces tengo que comentar un gran bloque de código para la prueba, y este bloque contiene cientos de líneas y hay muchos comentarios de varias líneas dentro.

¿Cuál es la mejor manera de comentar este gran bloque? además de eliminarlo temporalmente del archivo?

Respuesta

12

Desde el PHP manual:

'C' comentarios de estilo extremo en el primer */encontrado. Asegúrese de que no aniden los comentarios de estilo 'C'. Es fácil cometer este error si están tratando de comentar un gran bloque de código.

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

:(

+0

por lo estás diciendo que lo único que pude hacer es o bien el uso montón de // dentro de un comentario de varias líneas o eliminar la bloquear temporalmente desde el archivo? – dudeMatt

+0

@dudeMatt - Sí, desafortunadamente - o usar un IDE que haga bien el "reemplazo masivo. O cree su propio script. – karim79

+0

No es confiable porque es posible tener'/* 'o' */' dentro de expresiones regulares, de todos modos. – karim79

1

diría que depende de su IDE/editor. Algunos de IDE tienen una característica "comentario", que va a hacer comentarios de una sola línea (//) en todas las líneas de un área seleccionada, por lo que sería seleccionar todo el rango y haga clic en ese botón.

Si el IDE no tiene esa característica, entonces creo que está fuera de suerte.

Por ejemplo, supongamos que se trata de su código original

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

Si resalta que todo el asunto en algunos entornos de desarrollo y hace clic en el botón de comentario, que va a terminar con:

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

Los comentarios // ganar, lo que significa que usted acaba de hacer lo que está tratando de lograr.

+0

IDE? ¿Editor? ¿Qué tipo de editor le diría a PHP que comenten el código MY way? ¡NO! es un problema relacionado con PHP ... nada que ver con los editores ... – dudeMatt

+2

Amigo, relájate. Todo lo que digo es que si su IDE le permite hacer un comentario de un clic usando comentarios de una sola línea, puede comentar varias líneas con un solo clic, y no importará si hay comentarios de varias líneas en ese lote. . Ver mi edición –

+0

Ahhh, trae recuerdos de eclipse ... 'Ctrl -> /' y todo está comentado – karim79

2

Por diseño La sintaxis de PHP no permitirá hacer eso.

Así que creo que la forma más fácil de lograr eso sería eliminar todos los caracteres / seguidos de *.

En el ejemplo, el siguiente código:

/* 

    /* 
    * Comment 1 
    */ 

    /* 
    * Comment 2 
    */ 

*/ 

se convertiría en:

/* 

    /* 
    * Comment 1 
    * 

    /* 
    * Comment 2 
    * 

*/ 
7

No hay buena manera de hacer esto para lo que suelo hacer es usar la siguiente solución:

<?php if(false): ?> 

Whatever needs to be commented out. 

<?php endif; ?> 
+0

Uso un enfoque similar con 'function ignore() {...}' – Dano

+0

también funciona ... finalmente comencé a dejar que mi ide hiciera el trabajo ... en vim puedes establecer fácilmente tu movimiento en 'gc' y dejar que agregue barras por todos lados ... – McKean

0

para smart move simplemente agregue y guarde todo el deseo sección de código de comentario en "yourCode" Bloquear.php ", entonces

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

o simple comentario sola línea

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