• Viernes 19 de Abril de 2024, 21:01

Autor Tema:  Php siempre usa el servidor?  (Leído 2702 veces)

pedroqv

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Php siempre usa el servidor?
« en: Viernes 29 de Enero de 2010, 07:00 »
0
Php siempre va al servidor sea cual sea la operacion o solamente en caso necesario, por ejemplo si creo 2 variables $var1 y $var2, le asigo valores los sumo e imprimo el resultado, para esa operacion tu que ir al servidor o lo realizo en el cliente.
Yo quiero aclarar esto, para ver si puedo disminuir mi uso de php y majearlo con javascript

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Php siempre usa el servidor?
« Respuesta #1 en: Viernes 29 de Enero de 2010, 14:01 »
0
PHP Funciona como server-side scripting, ósea, siempre hará las operaciones del lado del servidor, sin embargo ahora se pueden hacer aplicaciones con Qt y Gtk para funcionar por el lado del cliente.
El pasado son solo recuerdos, el futuro son solo sueños

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: Php siempre usa el servidor?
« Respuesta #2 en: Viernes 29 de Enero de 2010, 18:21 »
0
En ambiente web PHP siempre se ejecuta en el servidor, todas las operaciones que haces con PHP se ejecutan en el servidor, en otras palabras, estás programando el servidor.

pedroqv

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Re: Php siempre usa el servidor?
« Respuesta #3 en: Domingo 31 de Enero de 2010, 01:39 »
0
Ah ok gracias, entonces me voy a tener que poner a estudiar sobre como usar valores de php en javascript y de javascript a php

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: Php siempre usa el servidor?
« Respuesta #4 en: Domingo 31 de Enero de 2010, 05:19 »
0
En el modelo cliente-servidor, el servidor no hace nada a menos que el cliente se lo pida.
Lo que el cliente "ve" es el resultado de la ejecución de PHP en el servidor. Ten siempre esto presente. Cuando en tu navegador aparece la página, PHP ya se ejecutó en el servidor. Así que para usar valores de PHP en JavaScript es tan fácil como:
Código: PHP
  1. <script>
  2. var a = <?php echo $a; ?>;
  3. </script>
  4.  
Porque ese echo ya se ejecutó en el servidor.
Si miras el código fuente de la página verás que a la variable a se le asigna una constante (que es el contenido de la variable $a).

Lo contrario es más complicado. Tienes que usar el protocolo HTTP el cual permite la comunicación desde el cliente al servidor mediante peticiones GET o POST. Si quieres pasar un valor generado en JavaScript a PHP, es lo mismo que enviar una petición GET o POST al servidor. La pega en esto es que se te recarga la página. Porque o bién usas un <a href="scriptphp.php?variable=valor"> o bien mediante un submit desde un <form>, o bien directamente con window.open desde JavaScript. Esto se debe a que la comunicación entre cliente y servidor es sincrónica.

Para mejorar esta situación se desarrolló la tecnología AJAX que simula una comunicación asincrónica. AJAX permite que solo una parte de la página actual se actualice sin necesidad de recargar la totalidad de la página. Esta es una alternativa que deberías investigar si quieres realizar sitios "modernos".

pedroqv

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Re: Php siempre usa el servidor?
« Respuesta #5 en: Domingo 31 de Enero de 2010, 18:16 »
0
Si ya escuchado sobre algo sobre ajax, para mi es algo asi como una combinacion de javascript con xml, pero no me he entrado en este tema por que se torna complicado, ajax no es de dificultad facil.

Se ve muy bien esa asignacion que le hiciste a la variable $a desde una instruccion php, yo lo que hago para recuperar un valor php, 1. mando por url, 2. mediante un form (pero esto requiere de actualizar la pantalla) y 3.creando un input escondido en el cual pongo el valor ahi, y despues lo recupero con javascript, pero la verdad el mas fiable es la tuya dandose la situacion correcta para su uso.

Por otro lado si me queda muy claro que php se ejecuta totalmente en el servidor lo cual regresa el archivo html ya listo para mostrarse, a mi lo que me preocupa que es a donde quiere llegar mi post, es que a lo mejor una pagina que esta casi 100% programada con html y php vaya a saturar a un servidor o hacerlo mas lento o talvez es dificil que pase algo como eso, en vez de disminuir el uso del servidor usando javascript en las partes que no requiera el servidor,

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: Php siempre usa el servidor?
« Respuesta #6 en: Domingo 31 de Enero de 2010, 19:55 »
0
Cita de: "pedroqv"
Por otro lado si me queda muy claro que php se ejecuta totalmente en el servidor lo cual regresa el archivo html ya listo para mostrarse, a mi lo que me preocupa que es a donde quiere llegar mi post, es que a lo mejor una pagina que esta casi 100% programada con html y php vaya a saturar a un servidor o hacerlo mas lento o talvez es dificil que pase algo como eso, en vez de disminuir el uso del servidor usando javascript en las partes que no requiera el servidor,
Vamos, no es para abusar, pero tampoco es para ponerse paranoico :P.

El intérprete PHP tiene sus salvaguardas para evitar código que se vuelve voráz. Por ejemplo, el administrador del servidor configura un tiempo máximo de ejecución, por omisión es de 30 segundos. Esto quiere decir que no puedes colgar el servidor con un ciclo infinito. Otra salvaguarda es la cantidad de memoria que un script puede usar como máximo, si no recuerdo mal ese valor por omisión es de 8 megas, quiere decir que tu script abortará si trata de usar mas de 8 megas al mismo tiempo.

La gran mayoría de los servidores de producción además no usan el código fuente que has escrito siempre. PHP tiene un módulo que primero verifica si el código fuente ha cambiado (o si es nuevo), entonces procede a hacerle una compilación que resulta en un bytecode, ese bytecode es el que se ejecuta, si no ha cambiado entonces busca el bytecode y lo ejecuta. Al ser código precompilado se ejecuta más rápido y eficientemente que si tuviera que reinterpretar una y otra vez el mismo código todas las veces que un cliente lo pide.

Pero tu preocupación es buena y recomendable. Cualquier problema que puedas solucionarlo con JavaScript es mejor hacerlo con JavaScript, pero debes contraponerla con esta otra premisa: nunca confies en los datos que te envía el cliente.
Supongamos que quieres calcular la edad de una persona y la fecha de nacimiento la proporciona el visitante. Evidentemente el cálculo en cuestión es mejor dejárselo a JavaScript (no hay necesidad de "molestar" al servidor con semejante tontería), pero como ese dato debe ser enviado al servidor en algún momento y ese momento y la forma de enviarlo está en manos del cliente, es bueno que cuando llegue al servidor volver a verificar que el dato es correcto. Si el dato viene por GET en una variable llamada "fechanac" nada le impide al usuario escribir en la barra de direcciones algo como esto: http://www.example.com/tuscrip.php?fechanac=quéteimportamifechadenacimiento y eso podría desbaratar tu script si no verificas que "fechanac" contiene un valor que tenga sentido para la operación en la que interviene.