diegoofernandez
Beta
Redactor
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Buenas gente, al fin me anime a crear un tema en el foro, les dejo un proyectito php que hice y que iré mejorando con el tiempo.
Creador de ORM para PHP. Independiente y sin necesidad de instalación
Bienvenido. Objetivo y descripción
OrmFactory se encarga de crear la base de datos, tablas de la misma y todo el código php que mapea las tablas brindando un modelo orientado a objetos; agregando de esta manera una capa de abstracción para conectarte a la base de datos y ahorrándote cientos de líneas de código.
Veamos de manera ilustrativa lo que hace ormfactory:

Todo esto lo logra leyendo el archivo 'config_db.json'. Para tener una idea más 'gráfica' de lo que logra veamos el valor 'tables' del config_db.json:

El archivo config_db.json

Tú lo único que tienes que configurar es el archivo json de configuración, el mismo contendrá los datos de acceso al servidor, el nombre de la base de datos a crear y el string especial que ormfactory leerá para crear la base de datos, las tablas y las clases ORM php.
Directorio que genera el ormfactory
Este directorio se generará luego de ejecutado el ormfactory, y siempre se llamara 'Entitys'. Este directorio podremos moverlo/copiarlo directamente a nuestro proyecto sin ningún tipo de problema. Supongamos que creamos una base de datos en las cual hay 2 tablas llamadas 'utiles' y 'ventas':

Ejecución de ormfactory
Primero hay que descargar la carpeta 'ormfactory' y guardarla en nuestro localhost o server. Correr el script que nos generará todo lo nombrado anteriormente es tan simple como ir a nuestro navegador y escribir lo siguiente:
localhost/ormfactory/creator-update/InitORM.php
Por supuesto deberá cambiar si es necesario la dirección 'localhost' por la que se encuentre en su maquina o server.
Template entidad generada:
Entidad generada por ormfactory · GitHub
Load de clases generado: Cargador de clases generado por ormfactory · GitHub
Crear el string para generar tablas
Veamos primero como se compone un string sql para que ormfactory lo sepa leer:
Rápidamente notamos los varios usos del signo dolar ($). Este símbolo lo que hace en el string es indicar que termina una acción.
Escribir nombre de tabla:
Lo primero que encontramos antes de escribir el signo dolar ($) es el nombre de la tabla:
Lo primero que tenemos que escribir es el nombre de la tabla y agregarle el signo dolar($), ya que el ormfactory detectara que esa parte del string contiene 1 solo elemento y por lo tanto interpretará que es el nombre de la tabla.
Escribir un campo en la tabla:
El carácter que lee ormfactory para 'partir' el string y crear el campo con las propiedades indicadas es el signo medio '-'. Sabiendo esto, podemos interpretar el string escrito arriba como lo siguiente:
1. Tenemos que crear un campo que se llame 'id'.
2. El campo va a ser de tipo entero (int).
3. La longitud del campo va a ser automática.
4. El campo va a ser auto_increment.
5. Terminamos la acción con el signo dolar($).
Y así sucesivamente con todos los campos que queramos crear en la tabla. AHORA hay unas reglas claves para que ormfactory entienda el string y son las siguientes:
1. NO puede haber espacios en blanco.
2. Cada campo recibe como mínimo tres valores: nombre, tipo, longitud. Ej: apellidos-varchar-220
3. Cada vez que queramos terminar un campo debemos agregar el signo dolar($) y a continuación seguir escribiendo el siguiente campo.
Constantes: auto_increment, primary_key y foreign_key:
Si queremos indicar que un campo es auto incrementa-ble, lo tenemos que indicar como cuarto y último parámetro en la posición del campo:
Indicar que un campo va a ser la clave primaria (primary_key) de la tabla:
Al final de la tabla (más abajo se explica como cerrar y comenzar una nueva tabla) tenemos que indicar la constante primary_key y luego el nombre del campo que será la clave primaria:
Crear claves foráneas para nuestras tablas mediante el string sql:
En la última acción de la tabla indicamos al constante foreign_key, luego indicamos el nombre del campo que almacenará los valores foráneos; como tercer parámetro de la acción hacemos referencia a el nombre de la tabla desde donde traeremos los datos y por último el campo de esa tabla desde donde tomaremos los valores.
Escribir varias tablas en el string:
El carácter para cerrar una tabla y comenzar otra es la barra vertical ( | ), ejemplo:
Hay que tener cuidado con este carácter, solo debemos indicarlo si vamos a seguir escribiendo más tablas, si no, no es necesario. En el ejemplo vemos que al terminar la segunda tabla no indicamos la barra vertical.
Pasos para usar ormfactory
1. Descargar el proyecto.
2. Colocar la carpeta general 'ormfactory' dentro de localhost o servidor.
3. Indicar en 'config_db.json' los valores de: conexión y creación de base de datos, creación de tablas.
4. Ir al navegador e indicar la siguiente ruta: localhost/ormfactory/creator-update/InitORM.php
5. Copiar la carpeta generada 'Entitys' y moverla al directorio de nuestro proyecto.
6. Para hacer uso de cada entidad simplemente tenemos que llamar al script 'load.php' de la siguiente manera: require_once 'Entitys/requeriments/load.php';
7. *Recordar que a los setters y getters se los accede de la siguiente manera: getNombreCampo() y setNombreCampo()
Funciones extras en cada entidad:
Nos devolverá todos los datos de la entidad instanciada.
CUIDADO: eliminará la fila completa de la tabla.
Crear nuevo objeto con la entidad:
Instanciar la entidad con un dato ya existente en la base de datos:
El parámetro que recibe la función 'recoveryAll' es el id de la fila que queramos recuperar.
Última consideración importante:
Todas las tablas deben llevar el campo 'id' y el mismo debe llamarse por supuesto 'id'. No es necesario que el mismo sea auto incrementa-ble.
Espero se haya entendido, cualquier duda a los comentarios. Saludos!
Creador de ORM para PHP. Independiente y sin necesidad de instalación
Bienvenido. Objetivo y descripción
OrmFactory se encarga de crear la base de datos, tablas de la misma y todo el código php que mapea las tablas brindando un modelo orientado a objetos; agregando de esta manera una capa de abstracción para conectarte a la base de datos y ahorrándote cientos de líneas de código.
Veamos de manera ilustrativa lo que hace ormfactory:

Todo esto lo logra leyendo el archivo 'config_db.json'. Para tener una idea más 'gráfica' de lo que logra veamos el valor 'tables' del config_db.json:

El archivo config_db.json

Tú lo único que tienes que configurar es el archivo json de configuración, el mismo contendrá los datos de acceso al servidor, el nombre de la base de datos a crear y el string especial que ormfactory leerá para crear la base de datos, las tablas y las clases ORM php.
Directorio que genera el ormfactory
Este directorio se generará luego de ejecutado el ormfactory, y siempre se llamara 'Entitys'. Este directorio podremos moverlo/copiarlo directamente a nuestro proyecto sin ningún tipo de problema. Supongamos que creamos una base de datos en las cual hay 2 tablas llamadas 'utiles' y 'ventas':

Ejecución de ormfactory
Primero hay que descargar la carpeta 'ormfactory' y guardarla en nuestro localhost o server. Correr el script que nos generará todo lo nombrado anteriormente es tan simple como ir a nuestro navegador y escribir lo siguiente:
localhost/ormfactory/creator-update/InitORM.php
Por supuesto deberá cambiar si es necesario la dirección 'localhost' por la que se encuentre en su maquina o server.
Template entidad generada:
Entidad generada por ormfactory · GitHub
Load de clases generado: Cargador de clases generado por ormfactory · GitHub
Crear el string para generar tablas
Veamos primero como se compone un string sql para que ormfactory lo sepa leer:
HTML:
utiles$id-int-auto-auto_increment$tipo-varchar-220$precio-int-25$fecha_creacion-varchar-50$primary_key-id
Rápidamente notamos los varios usos del signo dolar ($). Este símbolo lo que hace en el string es indicar que termina una acción.
Escribir nombre de tabla:
Lo primero que encontramos antes de escribir el signo dolar ($) es el nombre de la tabla:
HTML:
utiles$
Lo primero que tenemos que escribir es el nombre de la tabla y agregarle el signo dolar($), ya que el ormfactory detectara que esa parte del string contiene 1 solo elemento y por lo tanto interpretará que es el nombre de la tabla.
Escribir un campo en la tabla:
HTML:
id-int-auto-auto_increment$
El carácter que lee ormfactory para 'partir' el string y crear el campo con las propiedades indicadas es el signo medio '-'. Sabiendo esto, podemos interpretar el string escrito arriba como lo siguiente:
1. Tenemos que crear un campo que se llame 'id'.
2. El campo va a ser de tipo entero (int).
3. La longitud del campo va a ser automática.
4. El campo va a ser auto_increment.
5. Terminamos la acción con el signo dolar($).
Y así sucesivamente con todos los campos que queramos crear en la tabla. AHORA hay unas reglas claves para que ormfactory entienda el string y son las siguientes:
1. NO puede haber espacios en blanco.
2. Cada campo recibe como mínimo tres valores: nombre, tipo, longitud. Ej: apellidos-varchar-220
3. Cada vez que queramos terminar un campo debemos agregar el signo dolar($) y a continuación seguir escribiendo el siguiente campo.
Constantes: auto_increment, primary_key y foreign_key:
Si queremos indicar que un campo es auto incrementa-ble, lo tenemos que indicar como cuarto y último parámetro en la posición del campo:
HTML:
id-int-auto-auto_increment$
Indicar que un campo va a ser la clave primaria (primary_key) de la tabla:
HTML:
primary_key-id
Al final de la tabla (más abajo se explica como cerrar y comenzar una nueva tabla) tenemos que indicar la constante primary_key y luego el nombre del campo que será la clave primaria:
Crear claves foráneas para nuestras tablas mediante el string sql:
HTML:
foreign_key-articulo_vendido-utiles-id
En la última acción de la tabla indicamos al constante foreign_key, luego indicamos el nombre del campo que almacenará los valores foráneos; como tercer parámetro de la acción hacemos referencia a el nombre de la tabla desde donde traeremos los datos y por último el campo de esa tabla desde donde tomaremos los valores.
Escribir varias tablas en el string:
El carácter para cerrar una tabla y comenzar otra es la barra vertical ( | ), ejemplo:
HTML:
nameTable$campo-tipo-255$campo-tipo-255|nameTable2$campo2-tipo2-255
Hay que tener cuidado con este carácter, solo debemos indicarlo si vamos a seguir escribiendo más tablas, si no, no es necesario. En el ejemplo vemos que al terminar la segunda tabla no indicamos la barra vertical.
Pasos para usar ormfactory
1. Descargar el proyecto.
2. Colocar la carpeta general 'ormfactory' dentro de localhost o servidor.
3. Indicar en 'config_db.json' los valores de: conexión y creación de base de datos, creación de tablas.
4. Ir al navegador e indicar la siguiente ruta: localhost/ormfactory/creator-update/InitORM.php
5. Copiar la carpeta generada 'Entitys' y moverla al directorio de nuestro proyecto.
6. Para hacer uso de cada entidad simplemente tenemos que llamar al script 'load.php' de la siguiente manera: require_once 'Entitys/requeriments/load.php';
7. *Recordar que a los setters y getters se los accede de la siguiente manera: getNombreCampo() y setNombreCampo()
Funciones extras en cada entidad:
PHP:
getAll()
Nos devolverá todos los datos de la entidad instanciada.
PHP:
deleteAll()
CUIDADO: eliminará la fila completa de la tabla.
Crear nuevo objeto con la entidad:
PHP:
$objDemo = new MyEntity("data1", "data2", etc.);
Instanciar la entidad con un dato ya existente en la base de datos:
PHP:
$objDemo = new MyEntity();
$objDemo->recoveryAll($data);
El parámetro que recibe la función 'recoveryAll' es el id de la fila que queramos recuperar.
Última consideración importante:
Todas las tablas deben llevar el campo 'id' y el mismo debe llamarse por supuesto 'id'. No es necesario que el mismo sea auto incrementa-ble.
Espero se haya entendido, cualquier duda a los comentarios. Saludos!

