viernes, 25 de abril de 2014
Controllers( II ) - Codeigniter - Framework
En este post vamos a comentar como poder recoger las variables que nos llegan desde la url.En codeigniter hay dos maneras de recoger las variables dependiendo de como se envien en la url.
Para que esto funcione se debería de añadir un helper en el autoload.php de Codeigniter, que se encuentra en "application/config".
Por ejemplo:
http://localhost/proyecto/index.php/blog/3
Si recibieramos una url de este estilo, en el controlador podríamos recoger ese valor de la siguiente manera:
Ejemplo de archivo controlador
<?php
class Blog extends CI_Controller {
public function index($id)
{
$datos['identificador'] = $id;
$this->load->view('blogview', $datos);
}
?>
class Blog extends CI_Controller {
public function index($id)
{
$datos['identificador'] = $id;
$this->load->view('blogview', $datos);
}
?>
Donde la variable $id que pasamos por parámetro correspondería al "3" de la url, y se lo pasamos a la vista para que la imprima.
Un ejemplo de imprimir ese valor en la vista lo tenéis en el post anterior.
Esta forma se puede utilizar simplemente cuando pasamos un solo valor a la url.
Ahora bien:
¿Como se generan estas url desde la vista del Codeigniter?
<html>
<head>
<title>My Blog</title>
</head>
<body>
<?php echo $id; ?>
<?php echo anchor("blog/index/".$id, "Enlace")
<?php echo anchor("blog/index/".$id, "Enlace")
<html>
<?php echo anchor(uri segments, text, attributes); ?>
El parámetro uri segments, corresponde a "blog/index/3", ya que le estamos indicando de debe de ir al controlador blog, a la función index, con el parámetro $id que corresponde al número 3.
El parámetro atributes es por si queremos añadir atributos, como por ejemplo "title".
array('title' => 'The best news!')
Si quisieramos pararle más parámetros a la url, podríamos utilizar la función anchor de Codeigniter de la siguiente manera:
<?php echo anchor("blog/index/param1/param2", "Enlace", array('title' => 'The best news!')); ?>
La url de Codeigniter está segmentada, eso quiere decir que cada uno de los parámetros después del index.php los podemos recuperar.
Para recuperarlos se haría de la siguiente manera:
$this->uri->segment(1); //devolverá blog
$this->uri->segment(2); //devolverá index
$this->uri->segment(3); //devolverá param1
$this->uri->segment(4); //devolverá param2
El controlador quedaría de la siguiente forma:
<?php
class Blog extends CI_Controller {
public function index()
{
$datos['param1'] = $this->uri.>segment(3);
$datos['param2'] = $this->uri.>segment(4);
$this->load->view('blogview', $datos);
}
?>
class Blog extends CI_Controller {
public function index()
{
$datos['param1'] = $this->uri.>segment(3);
$datos['param2'] = $this->uri.>segment(4);
$this->load->view('blogview', $datos);
}
?>
Suscribirse a:
Enviar comentarios
(
Atom
)
Sígueme en las Redes Sociales
Donaciones
Datos personales
Entradas populares
-
En este apartado vamos a explicar como ejercutar archivos PHP a través del terminal de Ubuntu. Lo primero que tendríamos que hacer es inst...
-
En este blog voy a comentar un tema que se utilizan en casi todas las páginas web que existen, y es el tema de la paginación. La paginaci...
-
Este post trata de la integración de la librería PHPExcel en Codeigniter, aunque se podría aplicar a cualquier librería, como por ejemplo mP...
-
Ejemplo para añadir o sumar un número determinado de hora/s, minuto/s, segundo/s a una fecha en php. Con la función strtotime se puede ...
-
Este tema es uno de los temas primordiales sobre el framework Codeigniter, ya que en alguna ocación nos hemos visto obligados a recoger dato...
© Espacio Daycry - Espacio de programación 2013 . Powered by Bootstrap , Blogger templates and RWD Testing Tool
No hay comentarios :
Publicar un comentario