Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/09/2008, 10:22
Electrify
 
Fecha de Ingreso: agosto-2008
Mensajes: 21
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Vale ->dispatch(); si... ¿ pero y los argumentos ?

Pero entonces, de que forma me aconsejariais enviar esas peticiones ?

He visto tutoriales en los cuales hacen uso de mod_rewrite para embellecer las url. Pero algunos también lo usan para cambiar de lógica. Me explico:

Hay algunos que hacen algo similar a:

RewriteEngine On
RewriteRule ^(.*)$ index.php$1

De forma que al obtener el request_uri obtendrian algo asi como:

ruta/ruta2/controller/action/arg1/arg2/argN

Y a partir de ahí gestionan lógicamente desde código... Comprueban si controller es una clase... y si action es una función, sinó las definen como index y recogen los argumentos sobrantes a menudo con un explode("/", ArraydeArgumentos).

Pero esto... Ese request_uri, no deja de ser una simple string ( es lo que también llaman "command", no ? ) y hacerlo así te dejaría sin poder reconocer esos argumentos mediante $_GET o $_POST, no ? ya que tu pasas una ruta inexistente, que gracias a mod_rewrite no se procesa... pero en ningún momento usas así gets, o posts

Entonces... que recomendarían ?

- Manejar lógicamente la string y olvidarnos de las superglobales :S...
- O crear un query string tradicional ruta/ruta2/index.php?controller=valor1&action=valor2&argN=val orN e ir haciendo que mod_rewrite transforme las url ?

Que es más aconsejable ? O dirían exhaltados "De ninguna de las maneras !!!" jajaja

Gracias !!! : )