En este articulo voy a explicar como crear nuestros propios componentes, es decir componentes personalizados. Mas de uno se podra preguntar para que queremos utilizar los componentes, y aqui la explicacion: supongamos que tenemos un calculo que se repite en muchas partes del sistema, en este caso agrupamos la logica en un componente y de esta manera reautilizamos codigo, hacemos mas comprensible el codigo y si algun dia hay que hacer alguna modificacion en el calculo, esta se hara en un solo lado.
Para crear nuestro componente, lo primero que haremos es crear un fichero en /app/controllers/components/calculo.php y escribimos el siguiente codigo:
<?php
class CalculoComponent extends Object
{
function showResult($oper1,$oper2)
{
$resultado = $oper1 + $oper2;
return $resultado;
}
}
?>
class CalculoComponent extends Object
{
function showResult($oper1,$oper2)
{
$resultado = $oper1 + $oper2;
return $resultado;
}
}
?>
A esta altura ya tenemos nuestro componente personalizado, para poder utilizarlo desde algun controlador, tendremos que incluir el mismo en el array components.
<?php
//Ejemplo de como hacer uso de nuestro componente personalizado
class PersonasController extends AppController
{
//Incluyo el componente
var $components = array('Calculo');
//El componentes estara listo para utilizar
function calcularEcuacion()
{
$res = $this->Calculo->showResult(20,40);
}
}
?>
//Ejemplo de como hacer uso de nuestro componente personalizado
class PersonasController extends AppController
{
//Incluyo el componente
var $components = array('Calculo');
//El componentes estara listo para utilizar
function calcularEcuacion()
{
$res = $this->Calculo->showResult(20,40);
}
}
?>
De esta forma hemos utilizado nuestro componente en un controlador.
Para incluir algun componente del nucleo de Cake(Session,Email,etc), incluimos el mismo en el array components de nuestro componente.
<?php
class CalculoComponent extends Object
{
//Incluyo el componente Session
var $components = array('Session');
function showResult($oper1,$oper2)
{
$resultado = $oper1 + $oper2;
return $resultado;
}
}
?>
class CalculoComponent extends Object
{
//Incluyo el componente Session
var $components = array('Session');
function showResult($oper1,$oper2)
{
$resultado = $oper1 + $oper2;
return $resultado;
}
}
?>
No hay comentarios:
Publicar un comentario