Obtenido de http://mundogeek.net/archivos/2011/01/29/el-paamayim-nekudotayim-de-php/

No, este título tan raro no es producto de un deface de algún hacker indio. Es hebreo (פעמיים נקודתיים), significa doble dos puntos, y es el nombre que recibe el token utilizado por el analizador léxico y el analizador sintáctico de PHP para representar el operador de resolución de ámbito del lenguaje (::), un operador que se utiliza para acceder a miembros estáticos de una clase, y a propiedades y métodos que han sido sobreescritos por una clase al heredar de otra.

“¿Y por qué hebreo?”, se preguntará alguno. El motivo es sencillo, y es que, como ya vimos en Una no tan breve historia de PHP, Zeev Suraski y Andi Gutmans, los dos programadores que crearon el Zend Engine, son ambos israelíes.

Os podéis encontrar con este nombre tan críptico, por ejemplo, al utilizar el operador condicional ternario y repetir el carácter de dos puntos por accidente. Si probáis a

ejecutar el siguiente código:
view plaincopy to clipboardprint?

  1. <?php
  2. $modo = $_SERVER[‘SERVER_NAME’]!==’localhost’?’Debug’::’Producción’;
<?php $modo = $_SERVER['SERVER_NAME']!=='localhost'?'Debug'::'Producción';

PHP os responderá con un mensaje parecido a este:

Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /usr/local/apache/htdocs/ejemplo.php on line 2

Anuncios