2011-07-03 11 views
5

La semana pasada comencé a desarrollar una aplicación web de CI. Desde entonces me he dado cuenta de que estoy repitiendo mi código bastante en lo que respecta al manejo, adición, eliminación y actualización de filas en mi base de datos, por ejemplo, funciones de modelo como 'delete_invoice', 'delete_user' y 'delete_job' etc. esencialmente haga lo mismo: elimine una fila en una base de datos.Buscando un buen complemento CRUD/biblioteca (idea?) Para codeigniter

¿Alguien sabe: a) ¿Es una buena idea usar un método común para hacer esas cosas por mí? b) ¿Hay buenas bibliotecas/ayudantes o lo que sea que haya para CI? Prefiero ir a una biblioteca más estándar/estable sobre algo lleno de características locas.

Gracias! John.

Respuesta

0

John, yo uso una clase BaseModel con un método, guardar y todas mis clases tienen y el atributo de estado que almacenará lo que va a pasar con ese objeto y otro para almacenar su base de datos, por ejemplo:

usuario va a ser eliminado, el estado es "borrar" y enviar a ese usuario objeto a la BaseModel función que compruebe la condición de guardar:

switch($obj->status){ 
    case "delete": 
     //delete call 
    case "update": 
     ... 

que funciona bien para mis proyectos =)

esperanza ayuda

+0

Ambos buenas respuestas, pero ser perezoso pensé que acababa de re-uso lo que otra chico vinculado a. Esto realmente tiene mucho sentido, debería hacer las cosas de esta manera un poco más. –

0

Esto podría caer en el "algo lleno de características locas" categoría pero en el ORM DataMapper para CodeIgniter es digno de una mirada. Parece cubrir algo de la misma base que el modelo base de Jamie Rumbelow, con bondad ORM añadida.

http://datamapper.wanwizard.eu/

Personalmente tiendo a utilizar uno o los otros métodos dependiendo de las necesidades del proyecto.

4

Puedes usar la crud de comestibles, es simple, estable y tiene muchas características como la relación 1-n y n-n, carga de archivos, campos automáticos, funciones de devolución de llamada y mucho más. Puede ver el manual del usuario y descargarlo en

http://www.grocerycrud.com

Es muy fácil escribir en esta biblioteca y que no necesita copiar una y otra vez, un código similar, modelos similares, puntos de vista similares, JavaScript similares , CSS, etc Usted puede programar fácilmente con cuantas líneas de código, por ejemplo:

$this->grocery_crud->set_table('customers'); 
$this->grocery_crud->columns('customerName','phone','addressLine1','creditLimit'); 

$this->grocery_crud->render(); 

y eso es todo!

Cuestiones relacionadas