que - Especificación del lenguaje PHP?
php lenguaje de programacion (7)
Sé que hay un documento oficial para Java (JLS), me gustaría saber si también es el caso del lenguaje PHP. Encontré la sección "Referencia de idioma" en el manual de PHP, pero no se ve tan detallado como el JLS.
La cosa es que tengo un buen conocimiento práctico de PHP pero lamentablemente no tengo idea de lo que realmente sucede bajo el capó.
Si no hay ningún documento oficial, ¿podría recomendarme algunos buenos libros para leer?
De esta publicación de weblog (fechada) parece que no hay ninguna especificación para PHP como hay una para Java.
En esta publicación, la comunidad HHVM anunció una especificación para PHP: announced
Ahora se encuentra en el siguiente repositorio de Github: https://github.com/php/php-langspec
Hubo una discusión sobre ese tema en la lista de correo interna hace poco.
Puedes consultar el estado allí.
Publicación inicial: http://marc.info/?l=php-internals&m=129379585417113&w=2
Queridos internos
Después de mirar con envidia la gramática de los pitones ( http://docs.python.org/dev/reference/grammar.html ) sigo sintiendo que PHP está perdiendo muchos meta proyectos interesantes al no tener un EBNF oficial. [...]
y uno de los cuales esperamos que sea de utilidad y describa algo de gramática:
http://marc.info/?l=php-internals&m=129387252319019&w=2
Y las estadísticas toman en el asunto:
http://marc.info/?l=php-internals&m=129383062812273&w=2
¡Hola! [...]
No eres el único que lo piensa. Pero hasta ahora nadie se movió de pensar en eso a hacerlo realmente :)
- Stanislav Malyshev, arquitecto de software
Para los formalmente inclinados, una semántica detallada (ejecutable) de PHP está disponible en www.phpsemantics.org y se presentará mañana en la conferencia ECOOP 2014 en Suecia.
Por lo que leí en Wikipedia, tanto PHP como Perl5 tienen en común que son "idiomas" que se definen completamente a través de una sola implementación. El lenguaje es precisamente lo que hace el intérprete. Tampoco son como C o C ++ o Java o ECMAScript, que son lenguajes estandarizados con muchas implementaciones diferentes. (Al parecer, Perl6 será diferente y en realidad tendrá una especificación. No tenemos idea de que PHP dará este paso).
Se ha announced un borrador inicial de especificación para el lenguaje PHP. La introducción de la especificación dice lo siguiente:
El objetivo de esta especificación es proporcionar una definición completa y concisa de la sintaxis y la semántica del lenguaje PHP, adecuada para ser utilizada por lo siguiente:
- Implementadores de un compilador de PHP
- Implementadores de un conjunto de pruebas para el lenguaje PHP.
- Programadores escribiendo código PHP
Por ahora, la biblioteca de tiempo de ejecución ha sido excluida, como se documenta en www.php.net . Como tal, todas las referencias a las instalaciones de la biblioteca tienen marcadores de posición del formulario (§xx).
Véase también la última versión del borrador .
PHP y Java son diferentes lenguajes para diferentes propósitos, por supuesto, la documentación no sigue el mismo estándar. Creo que php.net
es el mejor lugar para encontrar lo que quieras, también tener buenos libros, todo depende de tus necesidades.
Java también tiene grandes libros, y por supuesto la Especificación de Java .
PHP no tiene una especificación, pero tiene un manual técnico y muchos ejemplos. ¿Qué más necesitas? Tal vez un libro específico, intente buscar en Wiley Publishing que imprima libros sobre PHP y otros idiomas.