ActiveRecord en KumbiaPHP

Bueno hoy vamos a ver una herramienta muy poderosa que nos proporciona kumbiaPHP framework. Se trata de ActiveRecord. ActiveRecord proporciona la capa objeto-relacional que sigue rigurosamente el estándar ORM. Que signifca esto? Pues que ahora vamos a poder tratar las tablas como clases, los registros como objetos y los campos como atributos. Esto nos brindara una muy buena y sencilla manera de trabajar con tablas despreocupandonos de las molestas sentencias que usabamos antes.

Para usar ActiveRecord es necesario crear un modelo para cada tabla como ya habiamos visto en el ejemplo anterior. Es decir que por ejemplo para la tabla clientes nuestro modelo sera un archivo llamado clientes.php dentro del directorio models y que contenga:

<?php
class Clientes extends ActiveRecord {
}
?>

Antes de pasar a ver como se usa voy a recomendarles que sigan 2 convenciones que son las sugeridas tambien en el libro.

  • Llamar Id al campo clave de tabla y colocarla como autonumerica
  • campo_id: Los campos terminados en _id indican relaciones foráneas a otras tablas, de esta forma se puede definir fácilmente las relaciones entre las entidades del modelo. Un campo llamado clientes_id en una tabla indica que existe otra tabla llamada clientes y esta contiene un campo id que es foránea a este.

(más…)

Continuar leyendo

Pasar variables por POST en KumbiaPHP

Hoy les voy a mostrar un ejemplo basico de como pasar variables por post usando el framework KumbiaPHP. Voy a continuar avanzando suponiendo que ya han visto los otros minitutoriales que he realizado. Por si las dudas se los perdieron estan aqui.

Esta vez vamos a usar un controlador con 2 acciones y 2 vistas. El programa de ejemplo lo que hara sera mostrarnos un campo donde podremos ingresar nuestro nombre (por ej «Perro») y luego nos devolvera un mensaje diciendonos hola (por ej «Hola Perro»)

Veamos primero el controlador que se llamara saludo_controller.php y tendra el siguiente codigo:

<?php
class SaludoController extends ApplicationController{
function index(){
}

function saludar(){
$this->mensaje=»Hola  «.$this->request(«nombre»);
}
}
?>

Veran que la accion index() no hace nada, para lo unico que nos va a servir es para llamar a la vista index.phtml. Y la accion saludar toma la variable enviada por post en el atributo request de la clase.

$this->request(«nombre»)

Esto nos servira siempre que queramos tomar las variables que son enviadas por post, solo habra que cambiar el nombre encerrado entre comillas por el nombre que corresponda. Algunos estaran pensando que es mas facil hacer un

$_POST[«nombre»]

pero eso no tiene nada de orientacion a objetos y no me parece adecuado.

Lo ultimo que podemos ver en la accion saludar es que a la variable recibida por post se le suma un «Hola  » y se guarda todo en un atributo de la clase al que llamamos mensaje.

(más…)

Continuar leyendo

Kumbia – Hacer un AMB en 5 minutos

Voy a seguir explicando un poco de KumbiaPHP framework. Hoy les voy a mostrar lo basico de los formularios StandarForm. Segun el manual:

StandardForm es una clase que proporciona Kumbia para la generación rápida de formularios que tengan como objetivo el mantenimiento de la información de tablas y captura de datos

Esta bastante sencillo de entender verdad? y si de todas formas todavia no entienden se daran cuenta una vez que vean el ejemplo. Algo a tener en cuenta es que aquellos que no hayan leido el primer ejemplo con kumbia deberian hacerlo para entender donde crear los archivos, etc, etc.

Esta vez usaremos un controlador y un modelo. La verdad no veremos mucho de como usar estos modelos hoy, solo nos servira para crear el modelo y ya. En otra ocasion les mostrare las ventajas de los modelos ActiveRecord. Lo primero sera crear una tabla en alguna base de datos. Por ejemplo yo cree la tabla clientes dentro de la base de datos negocio en mi servidor local.

Mysql
Mysql

En la creacion de la tabla hay una solo convencion que debemos seguir y es la de llamar id al campo indice de la tabla. (más…)

Continuar leyendo

Benchmark KumbiaPHP vs (Symfony, Zend y CakePHP)

Leyendo el blog de kumbia me tope con un post donde hablaban de benchmark entre Kumbia y otros frameworks php. Al principio no sabia ni que significaba la palabra benchmark y para los que esten como yo aqui les dejo la definicion de la wiki:
El benchmark es una técnica utilizada para medir el rendimiento de un sistema o componente de un sistema, frecuentemente en comparación con el cual se refiere específicamente a la acción de ejecutar un benchmark. La palabra benchmark es un anglicismo traducible al castellano como comparativa. Si bien también puede encontrarse esta palabra haciendo referencia al significado original en la lengua anglosajona, es en el campo informático donde su uso está más ampliamente extendido. Más formalmente puede entenderse que un benchmark es el resultado de la ejecución de un programa informático o un conjunto de programas en una máquina, con el objetivo de estimar el rendimiento de un elemento concreto o la totalidad de la misma, y poder comparar los resultados con máquinas similares

En resumen es una comparacion…..lo que suponia.

Para hacer las comparaciones se siguio una metologia especifica la cual consta en usar las mínima medidas de configuración y control posible, de manera de hacer efectiva un “Hola Mundo”, el enfoque minimalista mide la capacidad de respuesta de los componentes del Framework. No hay código de aplicación para ejecutar en el controlador de las acciones. De manera que cada framework haga lo menos posible para llamar a una vista. Esto nos muestra el máximo rendimiento posible, añadiendo código sólo reducirá la respuesta.

Cada Benchmark de los Framework’s usa los siguientes scripts o equivalentes…

  • Bootstrap.
  • Configuración por defecto.
  • Front-controller ó dispatcher.
  • Page-controller ó action-controller.
  • Una acción sin código, otras que invocan una vista.
  • Vista estática con solo “Hello World!”.
  • Sin usar cache de Framework.

(más…)

Continuar leyendo

Primer ejemplo con Kumbia framewok

Hoy quiero mostrarles como hacer su primer aplicacion en kumbiaphp framwework. En realidad no es una aplicacion que valla a hacer algo util realmente, solo me servira para que vallan entendiendo como es el funcionamiento de kumbia y se acostumbren un poco a como se debe programar usando la arquitectura MVC.

Ya he explicado como instalar kumbia en Ubuntu/Linux y tambien una pequeña introduccion al Modelo MVC.

Entonces lo primero que vamos a hacer sera una aplicacion que solo utilizara una Vista y un Controlador. Para hacer el controlador lo que haremos sera crear un archivo en la carpeta controllers que esta dentro de la default que esta dentro de la carpeta apps que esta en la carpeta donde hayamos descimprimido kumbia durante la instalacion. podra parecer algo complicado pero no lo es realmente. Voy a explicarselo mas sencillo: la carpeta apps es donde pondremos nuestro proyecto, las cofiguraciones y el core de kumbia se encuentran en otras carpetas. La carpeta default es la carpeta por defecto donde pondremos nuestro proyecto entero. Y veremos que dento de la carpeta default hay 4 carpetas mas:

  • controllers: sera donde estaran todos los controladores de nuestro proyecto o aplicacion.
  • helpers: todavia no se para que sirve, cuando sepa les digo :p
  • models: aqui estaran los modelos de la aplicacion
  • views: obviamente aqui van las vistas.

(más…)

Continuar leyendo

Arquitectura MVC

Bueno quiero empezar con a hacer unos tutoriales para que aprendamos a usar un framework de php. He elegido aprender Kumbia framework, ya les enseñe antes como instalar kumbia en ubuntu/linux. Ahora el problema es que este framework se basa en la programacion con arquitectura MVC y eso es algo totalemente nuevo para mi, he imagino que para algunos de Ustedes tambien. Asi que primero voy a explicar que es eso segun lo que lei y lo que puedo deducir de internet.

En 1979, Trygve Reenskaug desarrolló una arquitectura para desarrollar aplicaciones interactivas. En este diseño existían tres partes: modelos, vistas y controladores.
MVC significa: Modelo Vista Controlador y basicamente se trata de programar en capas definidas y separadas.

Una de las ventajas de el modelo MVC es que permite distribuir el trabajo de creación de una aplicación por niveles, de este modo, cada grupo de trabajo está totalmente abstraído del resto de niveles, simplemente es necesario conocer la API (Interfaz de Aplicación) que existe entre niveles. La división en capas reduce la complejidad, facilita la reutilización y
acelera el proceso de ensamblar o desensamblar alguna capa, o sustituirla por otra distinta.

Para muchos es mas facil entender el modelo viendo un grafico asi que aqui le dejo el de la wikipedia.

mvcUn diagrama sencillo que muestra la relación entre el modelo, la vista y el controlador. Nota: las líneas sólidas indican una asociación directa, y las punteadas una indirecta
(más…)

Continuar leyendo

Yii – framework para PHP

Recordaran que hace tiempo hice una pequeña presentacion de los distintos frameworks para PHP y entre ellos se encontraba Yii. Pues hoy solo quiero escribirles para que aquellos que se…

Continuar leyendo

Instalar Symfony en Ubuntu/Linux

Hoy vamos a ver como instalar el framework para php symfony, lo primero sera haber instalado apache+php+mysql como lo indique anteriormente. Veran que en el post yo cambio la direccion de la carpeta raiz donde se ubicaran los archivos de php, ya sea que la dejen por defecto en /var/www o que la cambien a otra direccion desde ahora la llamaremos simplemente directorio_raiz.

Vamos a hacer nuestra instalacion valiendonos de PEAR (PHP Extensión and Application Repository). Debemos asegurarnos de tener instalados los paquetes php5-cli y php-pear, sino es asi pues entonces lo instalamos asi:

sudo apt-get install php5-cli php-pear

Agregamos el canal de symfony:

pear channel-discover pear.symfony-project.com

Instalamos symfony:

sudo pear install symfony/symfony

Y ya está!!

(más…)

Continuar leyendo

Como instalar Kumbia en Ubuntu/Linux

Vamos a comenzar con el aprendizaje de este framework (Kumbia), asi que lo primero que veremos es como instalarlo. Para ello necesitaremos un paso previo que es instalar Apache+php+mysql. Una vez completado esto si podemos continuar.

  1. Lo primero sera bajar la ultima version de Kumbia desde el blog oficial que al momento de escribir este post es el paquete kumbia-0.5.1.tar.gz
  2. Ahora descimprimos el paquete en donde tengamos la carpeta para php que hayas definido durante el paso de la instacion de apache y php. Vamos a suponer que los descomprimos dentro de una carpeta llamada kumbia.
  3. En una consola escribimos

    a2enmod rewrite

  4. En la consola escribimos

    sudo gedit /etc/apache2/sites-available/default

    y buscamos donde diga AllowOverride None y lo reemplazamos por AllowOverride All

  5. En la consola escriban

    sudo gedit /etc/apache2/mods-enabled/dir.conf

    Busque la linea que dice DirectoryIndex y dejen index.php en primer lugar, para que quede mas o menos asi:

    DirectoryIndex index.php index.html….

  6. Reiniciamos apache asi:

    /etc/init.d/apache2 restart

(más…)

Continuar leyendo