Download the PHP package co-developers/ci-doctrine without Composer
On this page you can find all versions of the php package co-developers/ci-doctrine. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download co-developers/ci-doctrine
More information about co-developers/ci-doctrine
Files in co-developers/ci-doctrine
Package ci-doctrine
Short Description Librería de CodeIgniter 3 para utilizar Doctrine como ORM
License MIT
Homepage http://co-developers.com
Informations about the package ci-doctrine
CI Doctrine
Librería de CodeIgniter 3 para utilizar Doctrine como ORM.
Requisitos
CI Doctrine necesita PHP ^5.5.9|>=7.0.8
y CodeIgniter 3.x para poder ser ejecutado.
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
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
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
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
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)
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)
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)
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
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 carpetaapplication/ORM/Entity
. Los métodosgetters
ysetters
se generan automáticamente por dicho comando.doctrine_cli/generate_proxies
: Genera las clases Proxy a partir de las entidades en la carpetaapplication/ORM/Proxy
.dontrine_cli/generate_repositories
: Genera los repositorios a partir de los metadatos de las entidades. Se generan en la carpetaapplication/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
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.
All versions of ci-doctrine with dependencies
composer/installers Version ^1.0
doctrine/orm Version ~2.5
symfony/yaml Version ~3.3.9