CRUD Obtain Data

Creator (agregar un CRUD)


La función principal del CRUD es la de crear nuevos datos con base a un nombre de una clase y sus atributos.
Nota: recordemos que para acceder al CRUD se debe primero loguearse en el sistema como administrador y seguido acceder a la ruta: work/admin/creator.php

  1. Lo primero que debemos llenar es el Class Name que será el nombre de la clase, por ejemplo: person, boss, topic, etc.
  2. Segundo seleccionamos el motor de base de datos de mysql con el que deseamos trabajar (DB Engine) puede ser InnoDB o MyISAM (Si no se crea la tabla no importará esta selección).
  3. Tercero en la parte superior derecha encontramos por defecto chuliados los siguientes items los cuales creará el CRUD (si no se desea crear uno de estos items se deberá deschuliar):

    Create:
    • Class: crea una nueva clase en la ruta work/classes/nombre_de_la_clase.php
    • Table: crea una nueva tabla en la base de datos con el nombre enviado en Class Name
    • Controller: crea un nuevo controlador en la ruta work/admin/control/nombre_de_la_clase.php que servirá para ejecutar las funciones de control de read, delete, update e insert en el panel de administración.
    • Template: crea un nuevo template en la ruta work/templates/t_dark/admin/control/nombre_de_la_clase.tpl para que pueda funcionar el CRUD de control y además crea el template de edición en la ruta work/templates/t_dark/admin/control/nombre_de_la_clase_edit.tpl
    • Edit Files: edita los siguientes archivos:
      - work/modules/db.php agregar nuevos cases de nivel 1 con el Class name en las funciones del db: insert, update, delete, select
      - work/configs/gvar:php agrega el name $gvar["n_admin_control_nombre_de_la_clase"] y el link $gvar["l_admin_control_nombre_de_la_clase"] que hacen referencia al control
      - work/templates/t_dark/admin/menu.tpl para agregar una nueva opción en la cabecera del panel de admin
      - work/templates/t_dark/admin/control/index.tpl para agregar un nuevo boton en la sección de control (accediendo a la ruta work/admin/control.php)

  4. Agregamos los atributos de la clase en la tabla del medio, a cada atributo se le podrán llenar hasta 13 datos, que explicamos a continuación (para hacer la explicación mas sencilla supongamos que vamos a agregar la clase person y que en este espacio vamos a agregar el campo salario_diario de la persona):
    • Name: es el label o la etiqueta del atributo (el nombre del atributo sin restricciones y el cual aparecerá al frente de los inputs, por ejemplo Ingrese su Salario Diario). Según el ejemplo en este espacio se colocará como name: Salario Diario
    • Id: es el identificador o nombre sencillo del atributo, debe ser en minúscula, si contiene varias palabras deberá estar separado por guion bajo, y sin usar caracteres extraños. En caso de que se cree la tabla, este nombre corresponderá a una columna de la tabla person. Según el ejemplo en este espacio se colocará como id: salario_diario
    • Type: representa el tipo del atributo. Según el ejemplo en este espacio se colocará como type: Int
    • Size: representa el número de caracteres máximos que pueden ingresarse en este campo. Según el ejemplo en este espacio se colocará como size: 5 (un salario diaria de máximo 5 caracteres)
    • Type form: representa el tipo del campo donde se ingresarán los datos de este atributo: puede ser input text, radio, select, file (para imagenes o archivos), password y textarea. Según el ejemplo en este espacio se colocará como type form: select
    • Has html: indica si en el atributo esta permitido guardar datos en html, por ejemplo etiquetas <b>, <a>, etc. Puede ser No o Yes. Según el ejemplo en este espacio se colocará como has html: no
    • Values: se usa en 2 casos:
      - Cuando se desea restringir a unos pocos datos el valor que puede tomar este atributo (por ejemplo: sexo masculino o femenino), para llenar esta campo simplemente se colocan las posibles opciones separadas de una coma: masculino, femenino (generalmente cuando se llena este campo el type form es select o radio o file).
      - Cuando se desea restringir a unos tipos de formatos un archivo que se desee cargar. Supongamos que el type form es file, quiere decir que este atributo representará un archivo, entonces podemos restringir a que ese archivo solo puede ser por ejemplo de tipo imagen, entonces colocariamos en values: jpg, png, gif.
      Según el ejemplo en este espacio se colocará como values: 500, 1000, 2000
    • Req: (requerido), indica si el campo es requerido u opcional. Not null indica que es requerido. Null indica que es opcional. Según el ejemplo en este espacio se colocará como req: Not Null
    • Autoinc: (autoincrement) es un campo que indica si el atributo es o no autoincrementable. (por lo general se recomienda que la clave primaria de todas las tablas sea un id numérico autoincrementable). Según el ejemplo en este espacio se colocará como autoinc: No
    • Foreign Name: representa el nombre de la relación con la cual se relaciona el atributo, si el atributo no pertenece a ninguna relación se deja vació (ver capitulo de metadata parte de campos opcionales)
    • Foreign Class: representa el nombre de la clase con la cual se relaciona el atributo, si el atributo no pertenece a ninguna relación se deja vació (ver capitulo de metadata parte de campos opcionales)
    • Foreign Attribute: representa el atributo de la clase con la cual se relaciona este campo, si el atributo no pertenece a ninguna relación se deja vació (ver capitulo de metadata parte de campos opcionales)
    • Primary: indica si el campo es la clave primaria o parte de la clave primaria de la tabla. Según el ejemplo en este espacio se colocará como primary: No

  5. Una vez llenados todos los atributos de la clase, se da clic en SEND y ya se podrá contar con el CRUD para la nueva clase.
CRUD Obtain Data