El framework Laravel 4 cuenta con una característica importante, y es que fue reconstruído de manera modular, de tal forma que sus componentes pudieran ser utilizados independientemente.

Eloquent Laravel

Algunas veces decidimos no utilizar un framework full-stack en nuestros proyectos con el fin de llevar a cabo una organización personalizada de los directorios o por cualquier otro motivo, pero por todos es conocido aquel dicho de no reinventar la rueda; así que si existen herramientas tan buenas como los ORM no hay razón para que aún estemos escribiendo sentencias SQL directamente en nuestro código (a menos que, una vez más, sea un motivo de fuerza mayor debido a las particularidades del proyecto).

Hay diversas soluciones libres para la implementación de un ORM en un proyecto PHP, como PHP Active Record, pero dado que los lectores de este blog somos amantes de Laravel, preferimos Eloquent para llevar a cabo esta tarea. Así que vamos a ello…

Laravel 4, en su etapa de desarrollo fue nombrado como Illuminate, y este paquete agrupa aquellos componentes que están disponibles para su instalación y utilización a través de Composer. El paquete que requeriremos será illuminate/database, el cual nos provee del: constructor de esquemas, constructor de sentencias SQL (Fluent), y el mapeador objeto-relacional u ORM, Eloquent.

Instalación de Eloquent con Composer

Para empezar, creamos en el directorio raíz del proyecto nuestro archivo composer.json en el que esribiremos el paquete a instalar:

{
    "require": {
        "illuminate/database": "*"
    }
}

Luego nos ubicamos sobre el mismo directorio con una consola git y ejecutamos el siguiente comando:

composer install

Composer instala las dependencias que indicamos en el archivo composer.json en un directorio llamado “vendor”. Dentro de éste, podemos encontrar un archivo llamado autoload.php, que nos facilitará el uso de las librerías descargadas sin tener que hacer un include de cada archivo que vayamos a necesitar.

Siguiendo las instrucciones que nos dan en su página de GitHub creamos un archivo de configuración (que podemos llamar config.php) donde especificamos los datos de acceso a la base de datos y creamos un objeto ‘Capsule’, que se encargará de hacer funcionar a Eloquent por fuera de Laravel:

addConnection([
 'driver' =>'mysql',
 'host' => 'localhost',
 'database' => 'database',
 'username' => 'root',
 'password' => 'password',
 'charset' => 'utf8',
 'collation' => 'utf8_unicode_ci',
 'prefix' => '',
]);
 
//Y finalmente, iniciamos Eloquent
$capsule->bootEloquent();

Luego solo tenemos que importar el archivo de configuración y podremos empezar a utilizar Eloquent. Veamos a continuación un Modelo de ejemplo:

descripcion = 'Nueva descripción del producto';
$producto->save();

Dado que el componente que estamos usando es el mismo incluído en el Framework, podemos utilizar la documentación oficial para guiarnos en el proceso de desarrollo.

Gracias por leernos, hasta la próxima.

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.

Lección anterior Implementación del patrón repositorio (Repository Pattern) en Laravel Lección siguiente Qué son los Service Providers de Laravel y cómo usarlos