Foros del Web » Creando para Internet » Diseño web »

En que orden se ejecuta: PHP, JavaScript o HTML

Estas en el tema de En que orden se ejecuta: PHP, JavaScript o HTML en el foro de Diseño web en Foros del Web. Hola a todos, Esa es mi duda, ¿en que orden se ejecutan los lenguajes dentro de una página web?? - PHP - JavaScript - HTML ...
  #1 (permalink)  
Antiguo 08/08/2008, 12:33
Avatar de chiquirf  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 12 años
Puntos: 3
En que orden se ejecuta: PHP, JavaScript o HTML

Hola a todos,

Esa es mi duda, ¿en que orden se ejecutan los lenguajes dentro de una página web??

- PHP
- JavaScript
- HTML

Gracias

Saludos

Carlos
  #2 (permalink)  
Antiguo 12/08/2008, 03:50
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Respuesta: En que orden se ejecuta: PHP, JavaScript o HTML

.... intentaré ser breve y claro.

Una "página web" la hace el HTML y no más. HTML no es un lenguaje de programación, es un lenguaje de etiquetado que indica qué son "x" cosa dentro de una página (enlaces, imágenes, texto, listas, etc, etc, etc).

JavaScript es un lenguaje de programación que se ejecuta en el cliente (osea, el navegador lo interpreta). Este se encuentra embebido en el HTML de la página Web y, básicamente, le da cierto dinamismo a dicho HTML.

PHP es un lenguaje del lado del servidor, osea, la máquina donde se almacena "la página". PHP no hace "páginas web", solo procesa información y entrega "algo" al navegador. Ese "algo" en general es HTML, sin embargo puede ser muchas otras cosas que el navegador entienda (JavaScript, por ejemplo).

Cuando tecleas una URL el navegador hace la petición al servidor por el recurso que hayas pedido. En tu idea será un archivo PHP, el servidor ejecutará el intérprete PHP y entregará el resultado de ese script al navegador, usualmente HTML (la "página web") con JS o lo que corresponda. Entonces el navegador interpretará esa información.

Necesitas leer/estudiar más. Saludos
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 12/08/2008, 04:15
Avatar de chiquirf  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 12 años
Puntos: 3
Respuesta: En que orden se ejecuta: PHP, JavaScript o HTML

Hola jam1138, se que tengo que estudiar, ya que soy autodidácta en la programación web, y aunque he logrado hacer un CRX de reservas online para un hotel, se que me falta aprender mucho más, incluyendo la teoría de la progamación.

Tenía una idea que era algo así (fíjate en el orden en que los puse), sé que php es del lado del servidor, que JS es del lado del cliente y que HTML no es un lenguaje de programación.

Hace unos minutos, buscando una funcion para hacer preload de imagenes, encontré esto: http://www.desarrolloweb.com/articulos/1167.php donde explican que el JavaScript se ejecuta en "paralelo" del HTML.

También con la experiencia (con la funcion sleep() de php), me he dado cuenta que hasta que no se termine de ejecutar TODO el php de una web, no se muestra nada en el navegador, cosa que con JS creo que no pasa (tengo un calendario en la web hecho con JS y se muestra mientras carga el resto de la web).

Más que todo, quería confirmar si era así o no.

Gracias por tu respuesta.

Saludos

Carlos
  #4 (permalink)  
Antiguo 12/08/2008, 07:38
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 9 años, 7 meses
Puntos: 325
Respuesta: En que orden se ejecuta: PHP, JavaScript o HTML

Cita:
Iniciado por chiquirf Ver Mensaje
También con la experiencia (con la funcion sleep() de php), me he dado cuenta que hasta que no se termine de ejecutar TODO el php de una web, no se muestra nada en el navegador, cosa que con JS creo que no pasa (tengo un calendario en la web hecho con JS y se muestra mientras carga el resto de la web).

No es cierto del todo, a mi la experiencia me dice que con POO puedes hacer un 'bucle' infinito e ir escribiendo en la pantalla (lo hize con mzk (mezzenger class xD)). Y creo que ni hace falta POO, si no me equivoco, un script laaaaaaargo lo va 'mostrando' si mezclas php y html :)




De todas todas formas, lo normal es que sea PHP antes, puesto que tu navegador consulta al servidor, tipo "¿Que hay?", tonces, el servidor se lo piensa (php) y le responde "Esto", siendo 'esto' html u similares :) (tambien pueden ser imagenes, etc)

Yo soy de los que creen que SIEMPRE se puede aprender algo nuevo :)

Última edición por Eleazan; 12/08/2008 a las 07:47
  #5 (permalink)  
Antiguo 12/08/2008, 08:53
Avatar de chiquirf  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 12 años
Puntos: 3
Respuesta: En que orden se ejecuta: PHP, JavaScript o HTML

Tienes razón, siempre se puede aprender algo nuevo.

Esta duda me surgió porque me pidieron hacer un "preload" antes de mostrar un resultado de una consulta en BBDD, la cual realmente se hace en 0.002 seg.

Ese preload era supersimple: muestra una pequeña animación en flash y luego de X seg se redirecciona a otra pág enviando los mismos datos recibidos.

Entonces se me ocurrió poner en PHP un sleep escrito al final del documento, después del </html> y nada, la página se veia en blanco durante los x seg que ponía a sleep.

Así que opté por Javascript para hacer lo mismo, aparte lo mejoré un poco más poniendole un tiempo aleatorio de entre 1 a 5 seg para que no siempre demore lo mismo. Lo que no me gustó de esta solución en JS es que en la barra de estado aparecía la página como "listo" y eso puede acarrear que el cliente actualice la página si es que es muy desesperado y mande a la M... la consulta

También quise preguntar esto para saber si me rompo el coco tratando de cambiar algo que ya tengo montado, y es que luego de llenar un muy extenso formulario (reservas2.php), lo envío a otro php (reservas2_script.php) donde tengo que agregar esos datos en dos tablas distintas de mi BBDD, mandar 2 mails distintos, actualizar otra tabla de mi BBDD y crear un fichero de TXT para una plicación escritorio; luego de todo eso, el fichero reservas2_script.php redirecciona a reservas3.php donde se muestra un mensaje de agradecimiento.

En conclusión, quiero saber bien la teoría, para saber si intento hacer otro "preload", que mas que todo es un "espere mientras se procesa la información" por si los e-mails se demoran en ejecutar, que creo que es lo peor que puede pasar.

Gracias

Saludos

Carlos
  #6 (permalink)  
Antiguo 12/08/2008, 13:46
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Respuesta: En que orden se ejecuta: PHP, JavaScript o HTML

Cita:
Iniciado por Eleazan Ver Mensaje
[...] mi la experiencia me dice que con POO puedes hacer un 'bucle' infinito e ir escribiendo en la pantalla (lo hize con mzk (mezzenger class xD)). Y creo que ni hace falta POO, si no me equivoco, un script laaaaaaargo lo va 'mostrando' si mezclas php y html
No, el comportamiento por default de PHP es primero "generar todo" (vaya, que se ejecuta el script PHP y se guarda en memoria toda salida) y posteriormente se entrega el resultado. Entonces tenemos dos tiempos:
1. El que toma el script PHP
2. El de la transferencia e interpretación del resultado por parte del navegador.

PHP cuenta con funciones para el manejo del buffer de salida, con esto se puede forzar la entrega (o "pausarla") al navegador directamente sin hacer un "acumulamiento" previo. Estas funciones son nativas de PHP, no son "exclusivas" para trabajar con POO
www.php.net/book.outcontrol

@chiquirf: Usualmente el navegador va interpretando el HTML conforme lo va recibiendo, esto permite tener un mejor acceso al contenido (como olvidar aquellas conexiones con modem ). Entonces, si tienes un JS al comienzo de este será igual interpretado.
Si revisas las FAQ de JS encontrarás un método para mostrar un anuncio de "cargando" mientras --en verdad-- se recibe todo el contenido. La idea es un JS al comienzo que muestre dicho mensaje y otro al final que lo quite.. muy simple y lógico.
Por lo poco que entendí que estas haciendo, solo lo estás simulando... ¿con qué sentido? . Pero bueno, eso es tema aparte...

Saluton
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 12/08/2008, 15:38
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 11 años, 1 mes
Puntos: 122
Respuesta: En que orden se ejecuta: PHP, JavaScript o HTML

Nada mas para fastidiar un poco el asunto. En teoría php se ejecuta primero, pero con ajax puedes ejecutar una instrucción php después de que la página ha sido cargada. En realidad el proceso es el mismo, pero hace parecer que el php se ejecuta después del HTML.

Ahora, la cosa con HTMl y PHP es simple y hay un momento de ejecución determinado, pero no es lo mismo con Javascript, el cual por cierto no es siempre embebido. Javascript puede ejecutarse antes de que la pagina se ha cargado, cuando ya esta cargada o antes de que se navegue a otra pagina. No hay un tiempo determinado para la ejecución del Javascript.
__________________
twitter: @imbuzu
  #8 (permalink)  
Antiguo 12/08/2008, 18:26
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Respuesta: En que orden se ejecuta: PHP, JavaScript o HTML

De acuerdo con AJAX, pero aquí no hablamos de "hacer parecer" sino de lo que es. AJAX no es más que una "buzzword".

De JS ... Viene junto con el HTML, si bien puede ser un archivo independiente al final se incluye en el HTML haciendo referencia a ese archivo. De que no haya un tiempo determinado para su ejecución.... sí y no. Usualmente JS es asociado a un evento, pero tiene que indicárselo explícitamente así. si dicho evento no ocurre, el navegador no hará nada, pero la instrucción estará disponible desde que se leyó y hasta que dicho evento ocurra... Se puede tener un archivo así:
Código HTML:
<html>
<head>
<title>Hola</title>
</head>
<body>
<script>alert('Hola');</script>
</body>
</html> 
.. y debería ejecutarse dicho alert(). No esta asociado a ningún evento; no se pulsa nada, no necesariamente se ejecuta al cargar la página, ni al dejarla ni nada, se ejecuta cuando el navegador interpreta esa instrucción.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #9 (permalink)  
Antiguo 13/08/2008, 02:50
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 11 años, 1 mes
Puntos: 122
Respuesta: En que orden se ejecuta: PHP, JavaScript o HTML

Bah, ajax es mas que una buzzword, ya que es una tecnología que tiene un elemento en concreto sin el cual no existe ajax. El javascript, si bien es leído al momento de cargar la pagina, no necesariamente es ejecutado al cargar la pagina o en algún determinado momento y si no mal recuerdo la pregunta es en que momento se ejecuta. Como vez, la respuesta a es pregunta es que no hay un momento determinado de ejecución. Ademas, nótece que hay una diferencia entre embeber y hacer referencia. Un javascrip embebido es aquel que se encuentra dentro del documento HTML, mientras que un javascript referenciado es un documento alojado ya sea en el mismo servidor que la pagina HTML que le hace referencia o en otro servidor el cual es llamado a través del atributo src de la etiqueta <script> y en ningún momento es embebido en la pagina HTML razón por la cual se considera no obtrusivo. Comprobar este punto es muy sencillo. Crea un documento HTML y pon el javascrip junto con el documento. Abre el documento en tu navegador y mira el código fuente. Veras claramente que hay tanto HTML como javascrip en ese código fuente. Ahora pon el javascript en un documento aparte y haz referencia al el desde el HTML. Abre el HTML con un navegador y mira el código fuente. Veras que no hay ningún javascript dentro de ese código fuente lo que nos muestra claramente que el código jamas fue embebido sino que es un recurso externo que esta a nuestra disposición. Que si bien esta todo el tiempo a nuestra disposición, tambien se mantiene externo todo el tiempo.

Saludos.
__________________
twitter: @imbuzu
  #10 (permalink)  
Antiguo 13/08/2008, 04:40
Avatar de chiquirf  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 12 años
Puntos: 3
Respuesta: En que orden se ejecuta: PHP, JavaScript o HTML

Gracias a todos por sus respuestas, les voy respondiendo por partes:

Buzu:
- Lo siento, no tengo ni idea de ajax, por lo tanto ahora no puedo utilizarlo, ya veré si más adelande me animo a aprender, y regresaré a este foro a darte la lata, jejeje .
jam1138:
- Ya me ha quedado claro, en php+js+html "simple" (digo simple para no incluir al ajax, ni a las funciones para el manejo del buffer de salida de PHP que has mencionado) se ejecuta primero todo el php y luego se va ejecutando el html y el js de forma lineal segun haya sido escrito el código de la página, ya sea embebido o referenciado en un .js externo y llamado con un evento.

- El motivo de mi "simulación" es porque al hacer la busqueda se demora realmente 0.000002 seg, y el tío que me ha pedido la web quiso que le agregara un "retardo" para que muestre un mensaje como "Estamos buscando la mejor opción para su reserva, por favor, espere..." y luego de unos segundos mostrar el resultado.

- Voy a tomar nota de esas funciones para el manejo del buffer de salida

Gracias.

Saludos,

Carlos
  #11 (permalink)  
Antiguo 13/08/2008, 10:56
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 11 años, 1 mes
Puntos: 122
Respuesta: En que orden se ejecuta: PHP, JavaScript o HTML

Bien, me agrada que las cosas se mantengan simples, pues nada es complicado en realidad. Ajora con lo de tu cliente, no logro entenderlo. Todos queremos que la web sea mas rapida, pero tu cliente parece ir al revés. Solo por mostrar un mensaje hará esperara al usuario un tiempo que no debería esperar. Es que acaso la burocracia esta llegando a los sitios web? Las cosas que se encuentra uno por internet... Por que no le explicas a tu cliente que en realidad no es una buena idea? Es decir, hacer esperar al usuario no es una buena idea. Los mensajes de cargando están bien cuando en realidad se necesitan, de otra manera lo único que estas haciendo es simular una espera que en realidad no existe y eso no es una buena idea.
__________________
twitter: @imbuzu
  #12 (permalink)  
Antiguo 13/08/2008, 14:23
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Respuesta: En que orden se ejecuta: PHP, JavaScript o HTML

Cita:
Iniciado por buzu Ver Mensaje
Bien, me agrada que las cosas se mantengan simples, pues nada es complicado en realidad. Ajora con lo de tu cliente, no logro entenderlo. Todos queremos que la web sea mas rapida, pero tu cliente parece ir al revés. Solo por mostrar un mensaje hará esperara al usuario un tiempo que no debería esperar. Es que acaso la burocracia esta llegando a los sitios web? Las cosas que se encuentra uno por internet... Por que no le explicas a tu cliente que en realidad no es una buena idea? Es decir, hacer esperar al usuario no es una buena idea. Los mensajes de cargando están bien cuando en realidad se necesitan, de otra manera lo único que estas haciendo es simular una espera que en realidad no existe y eso no es una buena idea.
_o/ +1 Apoyo cada palabra. Esto es el colmo de querer estar en la Web 2.0

Y para no dejarla ... JS no es intrusivo porque sea referenciado, sino porque no depende el sitio de él para su funcionamiento. Puede ser embebido y no ser intrusivo, la ventaja que representa es que es un archivo aparte y el navegador puede "excluirlo" (menor carga) si "así lo quiere", cosa que no se puede cuando es embebido.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #13 (permalink)  
Antiguo 13/08/2008, 19:32
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 11 años, 1 mes
Puntos: 122
Respuesta: En que orden se ejecuta: PHP, JavaScript o HTML

Cita:
JS no es intrusivo porque sea referenciado, sino porque no depende el sitio de él para su funcionamiento.
Eso mas bien yo lo llamaria un javascript gracefully degradable o backwards compatible. Desde mi punto de vista el Javascript es intrusivo desde que se mezcla con HTML en el mismo documento.
__________________
twitter: @imbuzu
  #14 (permalink)  
Antiguo 14/08/2008, 02:09
Avatar de chiquirf  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 12 años
Puntos: 3
Respuesta: En que orden se ejecuta: PHP, JavaScript o HTML

Cita:
Ajora con lo de tu cliente, no logro entenderlo. Todos queremos que la web sea mas rapida, pero tu cliente parece ir al revés.
¿Has escuchado alguna de las siguientes frases?
- Donde manda capitan, no gobierna marinero.
- Por la plata (dinero) baila en mono.

Así que no me quedó otra, le explique que php y MySQL son muy potentes y esa busqueda la hace super rápido, que así el usuario no tiene que esperar nada, etc,etc, etc... pero el cliente se cerró en banda y nada, a simular un "buscando"

Yo creo que para JS no debería llamarse "intrusivo", debería llamarse "integrado o embebido" porque intrusivo suena a "se introduce para hacer daño", un virus es intrusivo, pero JS o PHP son integrados con html para mejorarlo, no para empeorarlo.

Esa es mi humilde opinión.

Saludos

Carlos
  #15 (permalink)  
Antiguo 14/08/2008, 05:01
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 11 años, 1 mes
Puntos: 122
Respuesta: En que orden se ejecuta: PHP, JavaScript o HTML

De hecho es precisamente esa la razón por la que se llama intrusibo. Aun que desde ese punto de vista tambien hay javascript referenciado que es intrusivo. De cualquier modo la cosa es que una cosa es un javascript enbebido y otra uno referenciado, que en si era la idea principal. Ademas, javascript referenciado reduce los costos de actualización y mantenimiento de un sitio web.

Con lo de tu cliente, pues lo entiendo, pero no logro aceptarlo. Es solo que me parece una perdida de tiempo para el usuario. Si yo fuera ese usuario sentiría que están jugando con mi tiempo. Hay que ver las cosas que se encuentra uno hoy en día. Un capricho, es eso y nada mas. Culpa tuya no es eso esta claro, pero igual me sigue pareciendo una perdida de tiempo.
__________________
twitter: @imbuzu
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:42.