Kohana PHP

Entre muchos framework de php que existen uno me ha parecido bastante útil. Kohana php es tremendamente potente y fácil de manejar. Además altamente confiable, kohana es un framework que se deriva del CodeIgniter el cual es realmente bueno. Las facilidades que te ofrece kohana si bien (igual que todos los framework de php) difícilmente consiguen la potencia de rails de ruby, da una versatilidad, facilidad y orden al desarrollo de nuestras aplicaciones web que pocos framework dejan hacer. Los programadores solemos amarrarnos a un framework y hacerlo casi como una religión, bien la verdad es que no es de lo mejor estas actitudes, pero pienso en kohana que de seguir como va ganara mucha comunidad, siendo esta una ventaja aun de este framework es dirigido por la comunidad y no por ninguna empresa en busca de dinero o facilidades de desarrollo de sus aplicaciones. Kohana es por y para FreeLancers!!!!
Caracteristicas principales:

- 100% MVC
- Strict PHP5 OOP- estrictamente orientado a objetos (lo mejor)
- Soporta Eventos
- Extremadamente liviano
- Es de una facilidad intuitiva
- La seguridad es una de las prioridades… anti xss, rfi, lfi, ;

Expliquemos un poco como funciona esta magia de kohana:

Primero como se pone el framework en nuestro server. Kohana precisa de 2 carpetas (la de nuestra aplicación y la del sistema propio de kohana) como mínimo una donde esta nuestra aplicación y otra para el propio framework, además precisa de un index.php que seria el único necesariamente publico dentro del hosting, también opcionalmente se puede colocar la carpeta de módulos apartes para kohana muy recomendada son verdaderamente útiles. El árbol de carpetas debería ser mas u menos asi:
root
+- application/
|
+- modules/
|
+- system/
|
+- index.php

En index.php se tiene que configurar la ubicación raíz de las 3 carpetas para que todo pueda arracan sin problemas esto se hace asignado valor a las respectivas variables:

$kohana_application = tuaplicacion;
$kohana_modules = 'modules';
$kohana_system = 'system';

Por convecion de kohana los controladores son siempre Tucontrolador_Controller (el nombre del controlado _Controller) y deben extender de Controller el nombre del archivo es igual al nombre del controlador sin el _controller.
Su sintaxis es mas u menos asi:

class Usuario_Controller extends Controller
{
public function index()
{
echo ‘hola mundo desde controlador usuario’;
}
}

Los controladores son llamados mediantes las url similar como se hace en java a los servlets, y bien dentro de estos se llama a la función index, aquí no hay doget o dopost, sino que en la url se puede especificar incluso a qué función específica del navegador se puede hacer llamado.

Http://tupagina.com/controlador / < -- llamado a función index lo mismo que Http://tupagina.com/controlador /index
Http://tupagina.com/controlador / tufuncion <-- llamado a función sin paso de argumentos
Http://tupagina.com/controlador / tufuncion/arg1/arg2/..../argn <-- llamado a función con n argumetos

El modelo es casi un juego de ni#os gracias a kohana la convecion es que todo modelo tumodelo_Model y extiende de Model el nombre del archivo es igual al nombre del modelo sin el _ Model.
Asi que quedaría mas u menos asi

class Usuario_Model extends Model {

public function __construct(){
parent::__construct();
}
//nuestro metodos deseados y otros mas
}

Pero también kohana nos ofrece la posibilidad de usar el driver de base de datos para manipular fácilmente nuestro modelo un ejemplo sencillo seria asi.

class Usuario _Model extends Model {
public function __construct($id = NULL){
parent::__construct($id);
}

public function get_usuario($usuario_id)
{
$this->db->where(usuario_id’, $user_id);
return $this->db->get(‘usuarios’);
}

public function insert_user($data){
$this->db->insert(‘usuarios’, $data);
}

public function update_user($usuario_id, $data){
$this->db->where(‘usuario_id’, $usuario_id);
$this->db->update(‘usuarios’, $data);
}
}

La vista es de lo mas sencillo simplemente es un archivo php con html embebido y que cuyo nombre es le q usaremos para ubicarlo, y se manupulara por el objeto View desde algún controlador. Supongamos un archivo,

Principal.php

<html>
<head>
<title><?php echo $titulo;?></title>
</head>
<body>
<p><?php echo $contenido;?></p>
</body>
</html>

Y un controlador

Principal.php

class Principal_Controller extends Controller {

function index(){
$vista = new View(‘Principal’);
$vista->titulo = “bienvenido a Kohana !”;
$vista->conetnido = “Hola Kohana!!.”;
$vista->render(TRUE);
}
}

El método render solo puede ser llamado una ves y lo que hace es mandar retornar toda la vista a un string y si le pasamos true también la imprime directamente al navegador.

Se puede anidar vistas.. y usarlas como kieras son muy buenas como templates por que son sencillas y le dejan total libertad al dice#o!!!

Como dije es un gran framework y esto no es básicamente nada sobre el… pues puede llegar a mucho mucho mas. Espero que sea de utilidad a muchos

convert this post to pdf.


Deja un Comentario