PHPackages                             co-developers/ci-doctrine - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. co-developers/ci-doctrine

ActiveCodeigniter-library[Database &amp; ORM](/categories/database)

co-developers/ci-doctrine
=========================

Librería de CodeIgniter 3 para utilizar Doctrine como ORM

v2.0.2(8y ago)0411MITPHPPHP ^5.5.9|&gt;=7.0.8

Since Oct 6Pushed 8y ago1 watchersCompare

[ Source](https://github.com/egarofalo/ci-doctrine)[ Packagist](https://packagist.org/packages/co-developers/ci-doctrine)[ Docs](http://co-developers.com)[ RSS](/packages/co-developers-ci-doctrine/feed)WikiDiscussions 2.x Synced today

READMEChangelog (3)Dependencies (3)Versions (5)Used By (0)

CI Doctrine
===========

[](#ci-doctrine)

Librería de CodeIgniter 3 para utilizar Doctrine como ORM. Requisitos
----------

[](#requisitos)

CI Doctrine necesita PHP `^5.5.9|>=7.0.8` y CodeIgniter 3.x para poder ser ejecutado. Instalación
-----------

[](#instalación)

Instale Composer en su equipo y luego ejecute el comando `composer require co-developers/ci-doctrine` dentro de la raíz de su proyecto en CodeIgniter. Configuración de la librería
----------------------------

[](#configuración-de-la-librería)

### Activar Composer en CodeIgniter

[](#activar-composer-en-codeigniter)

Para activar Composer en CodeIgniter abra el archivo `application/config.php` e indique la ruta del archivo `autoload.php` de Composer en el array `$config` de la siguiente manera: `$config['composer_autoload'] = 'vendor/autoload.php';`. ### Copiar el archivo `database.yml`

[](#copiar-el-archivo-databaseyml)

El archivo `application/libraries/doctrine/database.yml` contiene la configuración de la conexión a la base de datos que utiliza Doctrine. Antes de comenzar a utilizar CI Doctrine debe copiar éste archivo en la carpeta `application/config`. Dentro del yml, la clave `active_group` le indica a Doctrine que grupo de parámetros utilizar para acceder a la base de datos (`development`, `testing` o `production`). ### Carga automática de la librería

[](#carga-automática-de-la-librería)

Para cargar la librería automaticamente en CodeIgniter, abra el archivo `application/config/autoload.php` y agregue el string `'doctrine'` al array `$autoload['libraries']`. Recuerde desactivar la librería Database de CodeIgniter. ### Creando la estructura de carpetas

[](#creando-la-estructura-de-carpetas)

Antes de comenzar a crear entidades se deben crear las siguientes carpetas: - `application/ORM/Entity`: En esta carpeta se crean las entidades.
- `application/ORM/Repository`: En esta carpeta se generan los repositorios de cada entidad.
- `application/ORM/Proxy`: En esta carpeta se generan las clases Proxy de cada entidad.

Una vez que se generaron dichas carpetas, se puede comenzar a crear las entidades y los repositorios. Las clases Proxy se generan de forma automática por carga diferida (Lazy Loading).
Recuerde que antes de generar cada entidad debe especificar el `namespace` en el archivo de declaración de la clase. Lo mismo aplica para los repositorios. El `namespace` de las entidades es `Entity` y el de los repositorios es `Repository`. ### Copiar y configurar `cli-config.php` (Doctrine Console)

[](#copiar-y-configurar-cli-configphp-doctrine-console)

Para poder utilizar la consola de Doctrine, copie el archivo `application/libraries/doctrine/cli-config.php` en la raíz de su proyecto en CodeIginiter, o sea, en el mismo directorio del controlador frontal `index.php` y de la carpeta `vendor` de Composer. Luego verifique, en el mismo archivo, que la variable `$application_path` sea correcta (ruta relativa de la carpeta `application` de CodeIgniter). Una vez realizado este paso, ya puede ejecutar la consola de Doctrine desde la línea de comandos para crear entidades, repositorios, clases Proxy, crear las tablas en la base de datos a partir de los metadatos, etc. Para ver la lista de comandos disponibles ejecute en la shell `$ php vendor/bin/doctrine` en linux o `vendor\bin\doctrine` en Windows, desde la raíz de su proyecto. ### Copiar el archivo `MY_Controller.php` (opcional)

[](#copiar-el-archivo-my_controllerphp-opcional)

Si usted lo desea, puede utilizar la clase `MY_Controller` declarada en el archivo `application/libraries/doctrine/MY_Controller.php` como clase controladora base en CodeIgniter. Si extendemos todos nuestros controladores de `MY_Controller` tenemos disponibles la instancia al EntityManager en el atributo `$this->em` dentro de cada controlador. Para comenzar a utilizar esta extensión del controlador del core primero debemos activar la carga automática de la librería y luego debemos copiar el archivo `application/libraries/doctrine/MY_Controller.php` en la carpeta `application/core`. ### Copiar el archivo `Doctrine_cli.php` (opcional)

[](#copiar-el-archivo-doctrine_cliphp-opcional)

Si usted lo desea, puede utilizar el controlador `Doctrine_cli` declarado en el archivo `application/libraries/doctrine/Doctrine_cli.php` para ejecutar los comandos de la consola de Doctrine desde CLI con CodeIgniter de una forma más simple. Copie el archivo `application/libraries/doctrine/Doctrine_cli.php` en la carpeta `application/controllers`.
Para utilizar `Doctrine_cli` ejecute en la shell `php index.php doctrine_cli/comando`, desde la raíz de su proyecto, donde `comando` puede ser una acción del controlador que corresponde a un comando específico de la consola de Doctrine. Lea la sección **Comandos de Doctrine CLI** para ver la lista de acciones disponibles. Comandos de Doctrine CLI
------------------------

[](#comandos-de-doctrine-cli)

El controlador `Doctrine_cli.php` dispone de las siguientes acciones: - `doctrine_cli/generate_entities`: Genera las entidades a partir de los metadatos. Recuerde que antes de ejecutar este comando, debe generar las entidades sólo con sus atributos y metadatos en formato de anotaciones en la carpeta `application/ORM/Entity`. Los métodos `getters` y `setters` se generan automáticamente por dicho comando.
- `doctrine_cli/generate_proxies`: Genera las clases Proxy a partir de las entidades en la carpeta `application/ORM/Proxy`.
- `dontrine_cli/generate_repositories`: Genera los repositorios a partir de los metadatos de las entidades. Se generan en la carpeta `application/ORM/Repository`.
- `doctrine_cli/create_schema`: Genera toda la estructura de la base de datos a partir de los metadatos de las entidades.
- `doctrine_cli/update_schema`: Actualiza la estructura de la base de datos a partir de los metadatos de las entidades. Se recomienda usar el parámetro `--force`.
- `doctrine_cli/convert_mapping_from_db`: Realiza ingenieria reversa de la base de datos. Específicamente genera los metadatos en formato de anotaciones a partir de la estructura de la base de datos. Los metadatos son especificados en las clases de las Entidades.

Metadatos de las entidades
--------------------------

[](#metadatos-de-las-entidades)

CI Doctrine utiliza anotaciones para especificar los metadatos de las entidades, ya que es la forma recomendada actualmente por Symfony. Por lo tanto ingrese los metadatos en los archivos de las entidades a través de las anotaciones.

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~14 days

Total

4

Last Release

3144d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b199c590927852de7c3e184b1a38361e5b87068386129a49ec97f1373da6a5e6?d=identicon)[egarofalo](/maintainers/egarofalo)

---

Top Contributors

[![egarofalo](https://avatars.githubusercontent.com/u/15386245?v=4)](https://github.com/egarofalo "egarofalo (43 commits)")

---

Tags

ormdoctrinecodeignitercodeigniter 3

### Embed Badge

![Health badge](/badges/co-developers-ci-doctrine/health.svg)

```
[![Health](https://phpackages.com/badges/co-developers-ci-doctrine/health.svg)](https://phpackages.com/packages/co-developers-ci-doctrine)
```

###  Alternatives

[rcsofttech/audit-trail-bundle

Enterprise-grade, high-performance Symfony audit trail bundle. Automatically track Doctrine entity changes with split-phase architecture, multiple transports (HTTP, Queue, Doctrine), and sensitive data masking.

1175.2k](/packages/rcsofttech-audit-trail-bundle)[laravel-doctrine/orm

An integration library for Laravel and Doctrine ORM

8405.5M96](/packages/laravel-doctrine-orm)[kimai/kimai

Kimai - Time Tracking

4.8k8.7k1](/packages/kimai-kimai)[scienta/doctrine-json-functions

A set of extensions to Doctrine that add support for json query functions.

58825.2M48](/packages/scienta-doctrine-json-functions)[api-platform/doctrine-orm

Doctrine ORM bridge

263.9M78](/packages/api-platform-doctrine-orm)[2lenet/crudit-bundle

The easy like Crud'it Bundle.

1615.6k12](/packages/2lenet-crudit-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
