2011-01-13 16 views
20

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 del lenguaje" en el manual de PHP, pero no se ve tan detallada como el JLS.Especificación del lenguaje PHP?

Lo que pasa es que tengo un buen conocimiento práctico de PHP pero estoy tristemente despistado acerca de lo que realmente sucede bajo el capó.

Si no hay ningún documento oficial, ¿podría recomendarme algunos buenos libros para leer?

+0

Siempre encontré el manual en línea de PHP como una excelente referencia. Puede tener un punto sin embargo; No puedo pensar en un documento directamente similar en PHP al de Java. – Spudley

Respuesta

15

An initial draft specification para el lenguaje PHP ahora ha sido announced. La introducción de la especificación lee como sigue:

Esta especificación está destinado a proporcionar una definición completa y concisa de la sintaxis y la semántica del lenguaje PHP, adecuado para su uso por los siguientes:

  • implementadores de un compilador de PHP
  • implementadores de un conjunto de pruebas para el lenguaje PHP
  • programadores escribir código PHP

Por el momento, se ha excluido la biblioteca de tiempo de ejecución, como se documenta en www.php.net. Como tal, todas las referencias futuras a las instalaciones de la biblioteca tienen marcadores de posición del formulario (§xx).

Véase también the latest version of the draft.

0

A partir de este (fechada) weblog post parece que no hay especificaciones para PHP como si hubiera una para Java.

0

PHP y Java son idiomas diferentes 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 tienes buenos libros, todo depende de tus necesidades.

Java también tiene excelentes libros y, por supuesto, la Especificación Java.

PHP no tiene una especificación, pero tiene un manual de tecnología y muchos ejemplos. ¿Qué más necesitas? Tal vez un libro específico, trate de buscar Wiley Publishing imprimen libros sobre PHP y otros idiomas.

8

Hubo un debate sobre ese tema en la lista de correo interno de no hace mucho tiempo.

Puede verificar el estado allí.

A partir de la publicación: http://marc.info/?l=php-internals&m=129379585417113&w=2

Estimados internos

Después de envidia mirando pitones gramática (http://docs.python.org/dev/reference/grammar.html) Sigo sintiendo que PHP está perdiendo una gran cantidad de proyectos de meta interesantes, no tener un EBNF oficial. [...]

y uno es de esperar atento seguimiento que describe algo de gramática:

http://marc.info/?l=php-internals&m=129387252319019&w=2

y estadísticas toman en la materia:

http://marc.info/?l=php-internals&m=129383062812273&w=2

Hola ! [...]

Usted no es el único que piensa en . Pero hasta ahora nadie se movió de pensar en ello para hacerlo realmente :)

- Stanislav Malyshev, Software Architect

+1

Para tener una especificación de idioma, necesitaríamos mucho más que una gramática. – Artefacto

+0

Artefacto tiene razón. Una gran cantidad de temas, que no requerirían saber la gramática en sí podría/debería cubrirse ... – Rolf

+0

@Rofl: Sí, mi publicación dirigida al "estado de" creará una especificación de idioma para php "discusión. solo hay 1 libro bastante viejo (y para una buena parte obsoleto) sobre php core y algunas presentaciones de diapositivas de conversaciones al respecto. – edorian

4

Por lo que he leído en la Wikipedia, tanto PHP y Perl5 tienen en común que se son "idiomas" que están completamente definidos a través de una sola implementación.El lenguaje es precisamente lo que haga el intérprete. Tampoco son como C o C++ o Java o ECMAScript, que son lenguajes estandarizados con muchas implementaciones diferentes. (Aparentemente, Perl6 será diferente y en realidad tiene una especificación. No hay idea de que PHP también lo haga un día).

1

Para el inclinado formalmente, un detallado (ejecutables) semántica de PHP es disponible en www.phpsemantics.org y se presentará mañana en la conferencia ECOOP 2014 en Suecia.

Cuestiones relacionadas