2011-07-03 10 views
5

W ubiegłym tygodniu zacząłem rozwijać aplikację internetową CI. Od tego czasu zdałem sobie sprawę, że powtarzam mój kod w odniesieniu do obsługi dodawania, usuwania i aktualizowania wierszy w mojej bazie danych - np. Funkcje modelu, takie jak "delete_invoice", "delete_user" i "delete_job" itd. Wszystkie one w zasadzie to samo - usuń wiersz w bazie danych.Szukasz dobrej wtyczki/biblioteki CRUD (pomysł?) Na codeigniter

Czy ktoś wie: a) Czy dobrze jest po prostu użyć wspólnej metody, aby zrobić dla mnie takie rzeczy? b) Czy są jakieś dobre biblioteki/pomocnicy lub cokolwiek tam dla CI. Wolałbym wybrać bardziej standardową/stabilną bibliotekę niż coś pełnego szalonych funkcji.

Dzięki! John.

Odpowiedz

0

John, używam klasy BaseModel z jednej metody, należy zapisać i wszystkie moje klasy mają i atrybut statusu, które będą przechowywać co się stanie z tym przedmiotem i innym, aby zapisać swoją bazę danych, na przykład:

użytkownik nie zostanie usunięta, stan jest „usuń” i wysłać ten przedmiot łatwy do BaseModel zapisać funkcję, która sprawdza stan:

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

to działa dobrze dla moich projektów =)

Nadziei pomaga

+0

zarówno dobre odpowiedzi, ale lenistwo myślałem, że po prostu ponowne wykorzystanie, co ten drugi facet związany z. To naprawdę ma sens, powinienem robić rzeczy w ten sposób trochę więcej. –

0

To może wpaść w „czymś pełnym zwariowanych funkcji” kategorii, ale DataMapper ORM Biblioteka dla CodeIgniter jest wart obejrzenia. Wydaje się, że obejmuje on część tego samego podłoża, co model podstawowy Jamiego Rumbelowa, z dodatkowym dobrem ORM.

http://datamapper.wanwizard.eu/

Osobiście staram się używać jednej lub drugiej metody w zależności od potrzeb projektów.

4

Możesz użyć sklepu spożywczego, jest to proste, stabilne i ma wiele funkcji, takich jak relacja relacji 1-n i n-n, przesyłanie plików, automatyczne pola, funkcje zwrotne i wiele innych. Można zobaczyć instrukcji obsługi i pobrać go na

http://www.grocerycrud.com

To naprawdę łatwe do napisania do tej biblioteki i nie trzeba ponownie i ponownie skopiować, podobny kod, podobne modele, podobne poglądy, podobnie JavaScript , CSS itp. Program można z łatwością zaprogramować za pomocą kilku linii kodów, na przykład:

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

$this->grocery_crud->render(); 

i gotowe!