Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Pregunta existencial

Estas en el tema de Pregunta existencial en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola gente. Soy Adrian Gonzaga, nuevo en este sitio. Mi pregunta va orientada a entender porque razon, php no puede tener eventos, por el hecho ...
  #1 (permalink)  
Antiguo 18/09/2006, 13:47
 
Fecha de Ingreso: septiembre-2006
Mensajes: 4
Antigüedad: 17 años, 7 meses
Puntos: 0
Pregunta existencial

Hola gente.
Soy Adrian Gonzaga, nuevo en este sitio.
Mi pregunta va orientada a entender porque razon, php no puede tener eventos, por el hecho de ser del lado del servidor. Esta duda la expongo porque, me encuentro a veces con la necesidad de hacer malabares para poder representar la informacion, que obtengo... por ejemplo desde una base de datos.
Desde ya les agradezco y espero pronta respuesta.
Saludos para todos!!!!.
  #2 (permalink)  
Antiguo 18/09/2006, 23:16
 
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires Argentina
Mensajes: 59
Antigüedad: 18 años, 6 meses
Puntos: 1
hola magnos , podrias contarme mas especificamente en que casos concretos
tenes problemas para presentar la informacion?
si te sirve hay un framework de php llamado PRADO, que soporta eventos
podes llamar cualquier fucion php desde un boton o link en html tipo "onClick ..."

saludos.
  #3 (permalink)  
Antiguo 22/09/2006, 12:58
 
Fecha de Ingreso: septiembre-2006
Mensajes: 4
Antigüedad: 17 años, 7 meses
Puntos: 0
Gracias.

Hola debian, primer te agradesco la respuesta.
Te cuento, que es un problema en general, que se me plantea.
Por ejemplo, cuando quiero agregar botones, debo reemplazarlos con <a href....>. Y es debido al tema de los eventos, no es la primera vez que leo de gente que pregunta por el tema (en otros foros), y siempre alguien que responde "DEBERIAS SABER QUE PHP DEL LADO DEL SERVIDOR Y JAVASCRIPT DEL CLIENTE". Lo cierto es que onclick en php no lo encuentro y la pregunta seria: que salida positiva encuentro para trabajar con eventos de ese tipo sin que LA PROGRAMACION QUEDE SUCIA.

Te mando un abrazo y de nuevo agradesco tu interes en responderme debian.

SALUDOS!!!!
  #4 (permalink)  
Antiguo 22/09/2006, 13:07
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 21 años, 5 meses
Puntos: 4
La respuesta que te dan es la correcta, PHP es lado servidor y Javasctip el Cliente.

PHP es un lenguaje básicamente imperativo (o entra en el paradigma imperativo). Significa que la ejecución es secuencial, de arriba a abajo, osea, se ejecuta, hace cosas y términa. Aun cuando PHP soporta el paradigma orientado a objetos, básicamente la llamada a un script orientado a objetos termina siendo imperativa.

Lo que debes hacer para manejar tus eventos, es que Javascript se encargue de ellos en el lado servidor (o flash, o lo que sea lado cliente) y que este sea quien haga las llamadas a rutinas que finalemente son imperativas.

en PHP-GTK y Java (programacion de escritorio) ocurre algo parecido, haces tus scripts, y finalmente la aplicación visible controla los eventos, y por cada evento se ejecuta alguna rutina imperativa.
__________________
Blog | Tecnosquad
  #5 (permalink)  
Antiguo 22/09/2006, 14:21
 
Fecha de Ingreso: septiembre-2006
Mensajes: 4
Antigüedad: 17 años, 7 meses
Puntos: 0
Con tu respuesta aparece la duda...

Hola ARRAUKANO, te saludo y te expongo tu contestacion en la que marco en negrita mi duda:

La respuesta que te dan es la correcta, PHP es lado servidor y Javascript el Cliente.........

.......Lo que debes hacer para manejar tus eventos, es que Javascript se encargue de ellos en el lado servidor (o flash, o lo que sea lado cliente) y que este sea quien haga las llamadas a rutinas que finalemente son imperativas......

Entiendes ahora por que razon hago mi pregunta?. El tema es programar sin suciedad, y aparece la ambiguedad de javascript en cliente y servidor.

Te saludo.
  #6 (permalink)  
Antiguo 22/09/2006, 15:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Hola Magnos, la respuesta que te dio Arraukano es un poco difusa, deja ver si te la puedo explicar mejor.

PHP es un lenguaje que por lo general se instala en un servidor como lo es Apache, para darle un plus a la hora de programar en paginas web, como lo es PERL.

Ahora PHP, por su naturaleza fue desarrollado pensando en esto pero no quiere decir que no pueda ser usado para aplicaciones que reaccionan a eventos (ve PHPGTK).

Cuando trabajamos en un ambiente Web hay que diferenciar varias cosas:

1.- La forma en que nosotros "vemos" las cosas es a travez de un lenguaje que nuestro cliente (o sea el Explorador) pueda entender, esto es el mas comun HTML. Aunque no esta limitado a esto, tambien se puede usar Flash, etc.

2.- Normalmente para que el "cliente" vea nuestro contenido es nosotros subiendo nuestra pagina HTML a nuestro "servidor" y espera a que el cliente le pida el contenido y le envie la pagina HTML

3.- PHP interactua en este paso, cuando el "cliente" le pide el contenido al "servidor", el servidor analiza si la pagina esta como registrada para ser procesada por el parser PHP, se invoca al parser y se ejecuta la pagina, el resultado de esto se envia al "cliente".

4.- Por esta misma razón, PHP ya ha cerrado todas sus conexiones y objetos han sido destruidos una vez que el "cliente" recibe toda la informacion y el browser renderea el contenido.

Ahora este proceso es igual para otros lenguajes, ya sea ASPX, Java, PERL, Ruby, etc.

Si entiendes esto veras porque es posible que ninguno de estos lenguajes por si solo reaccione a eventos.

Ahora la tendencia WEB2.0 es hacer aplicaciones activas que reaccionen a eventos y sean mas sencillas de utilizar por nuestro usuario.

Para hacer este "puente" se necesita usar algo muy util llamado JavaScript aunque no se usa exclusivamente para esto, con JavaScript y el util objeto XMLHTTPRequest, podemos mandar en "tiempo real" peticiones al servidor, sin que el usuario tenga que abrir una pagina nueva.

Se utiliza lo que se conoce como AJAX, para enviar datos al servidor, que nuestro lenguaje del servidor (ya sea PHP, .NET, Java, etc.) evalue los datos y nos regrese un resultado, y utilizar otravez JavaScript para manipular los resultados.

Lo que lenguajes como .NET, Java, etc. usan para parecer que "reaccionan" a eventos, es usar un interprete inteligente, que tu solo programando la funcion que quieres que se ejecute, hacen todo este trabajo de crear el "puente" en Javascript para que funcione.

Espero con esto te haya quedado mas claro como es que funciona todo esto de PHP vs lo que es la tendencia Web.
  #7 (permalink)  
Antiguo 22/09/2006, 18:48
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 10 meses
Puntos: 32
¿Tanto lío para sugerir que use Ajax?
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #8 (permalink)  
Antiguo 22/09/2006, 19:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Vamos a "enmarcar" la respuesta de GatorV que refleja el funcionamiento de PHP .. XDDD

Lo digo en sério .. GatorV, te invito a publicar una FAQ con este contenido, en general para describir como funciona "PHP" orientado al desarrollo en este ambiente "Web" (web 1.x)

Bueno .. para ilustrar esas palabras en un gráfico .. me gusta mucho este que lo he visto en muchos tutoriales de Ajax/Web 2.0 para ilustrar el flujo de los datos:





Imagenes tomadas del artículo:
http://adaptivepath.com/images/publi...fig2_small.png
(c) sus respectivos autores ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 22/09/2006, 20:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Jajaja, dicen que una imagen dice mas que mil palabras
  #10 (permalink)  
Antiguo 22/09/2006, 20:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por GatorV Ver Mensaje
Jajaja, dicen que una imagen dice mas que mil palabras
No te olvides de la FAQ!.. estas invitado.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 22/09/2006, 21:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Gracias!, lo voy a reescribir para que quede bien y bonito
  #12 (permalink)  
Antiguo 25/09/2006, 11:16
 
Fecha de Ingreso: septiembre-2006
Mensajes: 4
Antigüedad: 17 años, 7 meses
Puntos: 0
MUCHASSSSSSS GRACIAS GATORV..... ESO SI ES AYUDA.
Gracias a todos!!!!!
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 09:01.