Repositorios con Doctrine y Codeigniter 3

Codeigniter

En este tutorial vamos a ver cómo podemos crear repositorios con Doctrine y Codeigniter 3.

Los repositorios en Doctrine nos permiten extender la lógica de base, es decir, cuando creamos una nueva entidad, por defecto podemos acceder al repositorio de ésta y a sus métodos, entre ellos, find(), findOneBy(), findBy() y findAll().

Estos métodos ya nos ayudan mucho a la hora de obtener datos, pero si por ejemplo necesitamos realizar operaciones más adaptadas a nuestras necesidades, deberemos escribirlas en algún sitio, pues un lugar idóneo puede ser un repositorio, y lo mejor es que cada entidad tenga su propio repositorio para poder extender su funcionalidad.

Para poder crear un repositorio para nuestra entidad antes debemos hacer varias cosas, la primera es decirle a nuestra entidad el nombre de la clase incluido el espacio de nombres de dicho repositorio, eso debemos hacerlo mediante anotaciones.

Lo segundo es modificar la configuración de Doctrine para que mapee la ubicación de nuestros repositorios.

Finalmente nuestro repositorio debería heredar de Doctrine\ORM\EntityRepository.

Tutoriales de interés:

Configurar Doctrine para utilizar Repositorios con Codeigniter 3

Abre el archivo application/libraries/Doctrine.php y añade las siguientes líneas después de registrar el espacio de nombres Entities.


Para informar a una entidad de la existencia de un repositorio y que lo utilice, simplemente debemos modificar la anotación Entity de la misma, para la entidad User del tutorial anterior sólo debemos añadir lo siguiente antes de la definición de la clase.


En este caso, le decimos que el repositorio va a estar en el espacio de nombres Repositories y la clase se va a llamar UserRepository.

Crear un repositorio con Doctrine y Codeigniter 3

Para crear nuestro repositorio, simplemente crea el directorio application/models/repositories y dentro un archivo llamado UserRepository.php con el siguiente código.


De esta forma tan sencilla podemos extender nuestro repositorio y así ofrecer más funcionalidad a la entidad User, en este caso la extendemos con el método findByUsername.

Utilizar repositorios en Doctrine y Codeigniter 3

Ya que hemos creado nuestro repositorio y le hemos dicho a nuestra entidad que lo utilice, sólo nos resta utilizarlo, el siguiente método, ubicado en cualquier controlador de Codeigniter funciona perfectamente.


Eso es todo, así podemos crear nuestros propios repositorios, extender la funcionalidad de nuestras entidades y tener todo más organizado.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR