El “plugin” params nos permite acceder de forma fácil a diferentes tipos de parámetros.
Para conseguir el valor del nombre de un parámetro en un controlador, necesitaremos seleccionar el método apropiado para cada tipo de parámetro pasandole el name. Podemos conseguir los datos desde get o post, etc, no para sesiones.
Ejemplos:
$this->params()->fromPost('paramname');// Desde POST, es similar a $_POST['paramname'] $this->params()->fromQuery('paramname'); // Desde GET $this->params()->fromRoute('paramname'); //Desde las rutas definidas en module.config.php $this->params()->fromHeader('paramname'); // Desde la cabecera $this->params()->fromFiles('paramname'); // Desde un fichero subido
En todos estos métodos podemos definir un valor por defecto. Por ejemplo:
$orderBy = $this->params()->fromQuery(‘orderby’, ‘name’);
Cuando visitemos http://dominio.com/?orderby=birthdate $orderBy tendrá el valor birthdate.
Cuando visitemos http://dominio.com/ $orderBy tendrá el valor por defecto, es decir name.
También podemos obtener todos los parámetros o valores que provengan de un tipo, nos devolverá un array con ellos (necesario para la repoblación de formularios).
Ejemplo:
$todosValoresGet = $this->params()->fromQuery(); // llamada al método vació
Esto es lo mismo que hacer $todosValoresGet = $_GET;
Sin usar el plugin params, como ya hemos visto, podemos utilizar el objeto request. Por ejemplo:
$this->request->getPost('paramname');// Desde POST, es similar a $_POST['paramname'] $this->request->getRequest('paramname'); // Desde GET o POST
También tenemos la posibilidad de utilizar $_POST y $_GET.
Referencia:
Plugin params de ZF2 en Stackoverflow
Más información:
Manual de Zend Framework 2 en Español