Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/11/2013, 10:08
mathiasmontiel
 
Fecha de Ingreso: febrero-2013
Mensajes: 163
Antigüedad: 11 años, 3 meses
Puntos: 1
URL - $_SERVER['REQUEST_URI'] vs $_GET + .htaccess

Hola, estoy haciendo un sistema MVC a modo de práctica.. tomé un ejemplo del libro PHP y MVC en PHP y noté que para manipular las URLs usa $_SERVER['REQUEST_URI'] y a mí me parece más práctico manipular las URLs con $_GET modificando el archivo .htaccess (así había aprendido a hacer)..

Les doy un ejemplo, si tengo como url mvc/noticias/agregar me veo con un problema a la hora de manipular la URL

Código PHP:
$event VIEW_GET_USER;
$uri $_SERVER['REQUEST_URI'];
$peticiones = array(SET_USERGET_USERDELETE_USEREDIT_USER,
                    
VIEW_SET_USERVIEW_GET_USERVIEW_DELETE_USER
                    
VIEW_EDIT_USER);
foreach (
$peticiones as $peticion) {
    
$uri_peticion $peticion;

    if (
strpos($uri$peticion) == true) {
        
$event $peticion;
    }

(Aparte tengo un archivo con las constantes)
Código PHP:
<?php
const MODULO 'usuarios/';

// controladores
const SET_USER 'set';
const 
GET_USER 'get';
const 
DELETE_USER 'delete';
const 
EDIT_USER 'edit';

// vistas
const VIEW_SET_USER 'agregar';
const 
VIEW_GET_USER 'buscar';
const 
VIEW_DELETE_USER 'borrar';
const 
VIEW_EDIT_USER 'modificar';
?>
Qué pasa si tengo esta URL: mvc/noticias/agregar/UNA_URL_CUALQUIERA_1234
El script sólo compara la petición AGREGAR, puedo escribir cualquier otra cosa en la url, al script solo le importa que tenga la petición agregar. El script ignora el resto de la URL y no debería ser así, una URL tiene que ser exacta. Sin embargo si es con $_GET puedo manipular las peticiones de una manera más "exacta" digamos y además puedo manipular la URL desde el .htaccess

Me pueden orientar para encontrar la mejor solución a esto? habría alguna forma de combinar $_SERVER['REQUEST_URI'] con expresiones regulares para lograr lo que necesito? Es mejor usar $_GET y .htaccess?