Obtener todos los parámetros de una acción

Mi duda es la siguiente, ¿cómo obtengo todos los parámetros de una acción? Es decir, si mi URL es /modulo/controlador/accion/param11/param2/param12../param, y el numero de parámetros es desconocido.
Tagged:

Comentarios

  • En el controller: $this->parameters; es un array.

    En el view: $parameters; sigue siendo un array.

    También puedes pedirlo al router, Router::get('parameters'), aunque este ultimo caso no siempre es necesario.
  • edited abril 2012
    Cómo menciona joanhey, puedes acceder a los valores de esa forma, como atributos en el controlador y como variables en la vista.
    Así mismo, $this->module_name para obtener el nombre del módulo, $this->controller_name para obtener el nombre del controlador y $this->action_name par el nombre de la acción.

    Si no hay más remedio y no estás dentro del scope de esas variables puedes probar mediante Router::get(), pero recuerda que siempre es mejor los valores del controlador o la vista.

    Ej de Router::get() 
    • Router::get('module') devolverá el modulo que se está ejecutando
    • Router::get('controller') devolverá el controlador que se está ejecutando
    • Router::get('action') devolverá la acción que se está ejecutando
    • Router::get('parameters') devolverá un array() con todos los parámetros de la URL
    • Router::get('route') devolverá la URL sin el PUBLIC_PATH, ej: si tu url es dominio.com/blog/post/hola-mundo, devolverá: blog/post/hola-mundo
    • Router::get() devuelve todos los anteriores

  • Y si quisiera gurdar todo eso en varibles para lugo gurdarlo en la base de datos como un proceso de auditoria  en que tipo de metodo lo colocaria en el controlador??
  • tienes el before_filter y after_filter, y ademas el initialize y finalize, todos son metodos que siempre serán ejecutados en cualquier petición a la aplicación.

    https://docs.google.com/document/d/1kth1GhrmMEBK2cAMyiy_4Dw1qlJFNdXVuXajJ6nMTQg/edit?hl=es#heading=h.5phmiw-qvti2j


  • Gracias Manuel!
Sign In or Register to comment.