Priemer paso.

Para hacer este tútorial más completo vamos a trabajar con bases de datos. Creemos una simple tabla en MySql. (Nota: en este tutorial trabajaremos con MySql, pero kohana permite trabajar con más BDs, es cuestion que consulten la documentacion.)

DROP TABLE IF EXISTS `test`.`usuarios`;
CREATE TABLE  `test`.`usuarios` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nombres` varchar(45) NOT NULL,
`apellidos` varchar(45) NOT NULL,
`tipo_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE  `usuarios` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`nombres` varchar(45) NOT NULL,

`apellidos` varchar(45) NOT NULL,

`tipo_id` int(10) unsigned NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Y luego creamos la tabla Tipos

CREATE TABLE `tipos` (

`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

`descripcion` VARCHAR(45) NOT NULL,

PRIMARY KEY (`id`)

)

ENGINE = InnoDB;

Fijense que esta en plural, es importante. Fijense tambien que las primary key son siempre de nombre “id” y cualquier clave foranea tiene que tener el nombre en singular + _id. En el ejemplo es “tipo_id” y asi con cualquiera que ocupen.

Ingresemos datos.

primero en la tabla Tipos:

insert into tipos values(null, ‘administrador’);

insert into tipos values(null, ‘usuario’);

insert into tipos values(null, ‘invitado’);

Luego en la tabla Usuarios:

INSERT INTO usuarios VALUES(null,’Pablo’,'Neruda’,1);

INSERT INTO usuarios VALUES(null,’Miguel’,'Montes’,1);

INSERT INTO usuarios VALUES(null,’Pablo’,'Abraira’,1);

INSERT INTO usuarios VALUES(null,’Jose’,'Feliciano’,2);

INSERT INTO usuarios VALUES(null,’Miguel’,'Bose’,2);

INSERT INTO usuarios VALUES(null,’Hernesto’,'Belloni’,2);

INSERT INTO usuarios VALUES(null,’Miguel’,'mateos’,3);

INSERT INTO usuarios VALUES(null,’Sergio’,'Arro’,3);

INSERT INTO usuarios VALUES(null,’Luis’,'Bastidas’,3);

ahora configuramos Kohana para que sepa donde estan sus datos (para este tutorial)…

De la carpeta System copien el archivo “database.php” que esta dentro de la carpeta config. Copien este archivo dentro de la carpeta config de la carpeta Aplication y habranlo dentro de su editor de texto preferido.

En este archivo aparecen las configuraciones necesarias para conectarse a vuestra base de datos. La parte que nos importa es el array de “connection”. Una vez echas las conexiones pertinentes guarden y cierren el archivo.

Siguiendo… Ahora de donde mismo sacaron el database.php copien el “routes.php” desde System/config a Aplication/config

Este archivo en primera instancia configura cual es tu punto de inicio al abrir la la direccion de la pagina web. Por default dice ‘welcome’ que es el nombre del controlador por default que trae kohana. Incluso pueden echarle una ojeada en la carpeta Aplication/controllers.

Bueno, nosotros para el tutorial vamos a cambiar este dato de’welcome’ a ‘inicio’. Ahora si refrescan la pagina les va a salir un error de “Page not Found” y es basicamente por que kohana no encuentra el controlador ‘inicio’ el cual vamos a crear de inmediato.

Asi vallan a la carpeta ‘aplication/controllers’ y creen un archivo php que se llame ‘inicio.php’. Dentro ponen:

<?php defined(‘SYSPATH’) OR die(‘Acceso directo no permitido.’);//No es escencial, pero es para asegurarnos de que nadie entre directamente al archivo.

class Inicio_Controller extends Controller {//fijence en la sintaxys del nombre y a que extiende.

public function index(){//funcion de inicio.

echo “Soy una bestia…”;//lo que queramos aqui.

}

}

?>

Si vuelven a recargar http://localhost/ejemplo_kohana se van a encontrar con lo que hayan puesto en la funcion index().
Explicando…
Creamos una clase en PHP que extiende a la Clase Controller de Kohana. Este nueva clase debe ser llamada con el archivo, pero capitalizada y seguida de _Controller, en el ejemplo el archivo es inicio.php la clase se llama Inicio_Controller.
La funcion index() es obligatoria, es la funcion de entrada del controlador y es cargada al cargar el controlador. Si no existe da error.
Asi bien como es una funcion de la clase controladora Inicio_Controller puede ser llamada directamente… asi:
http://localhost/ejemplo_kohana/index.php/inicio/index
Segun como tengan su archivo .htaccess saldra o no “index.php” que podría decirse es el lanzador de controladores de kohana. Se que hay formas de arreglar el .htaccess para que no aparesca en la barra de direcciones, pero eso es cuestion deaveriguarlo y no menester de este post.
Siguiendo, despues de index.php se puede observar el nombre del controlador (inicio) y despues de este se ve el nombre del metodo.
Otro ejemplo para que se entienda mejor:
agregen esta funcion al controlador:
public function saludar(){
echo “Hola como estan soy yo”;
}
Si cargan en la barra de direcciones http://localhost/ejemplo_kohana/index.php/inicio/saludar les debería salir el mensaje al que hicimos echo en la funcion. De seguro ya pescarón la idea. Ahora si quieren un ejemplo más completo…
modifiquen la pasada funcion para que quede asi.
public function saludar($yo){
echo “Hola como estan soy ” . $yo;
}
y ponen http://localhost/ejemplo_kohana/index.php/inicio/saludar/Juan comprobaran que despues del controlador y su metodo pueden poner parametros de entrada, tantos como quieran. Seguro estas diciendo “Fantastico, que más, que más!!!.”
Pues siguen las Vistas… en un proximo capitulo… :)

Escribe un comentario

Tienes que iniciar sesión para escribir un comentario.