2011-07-03 8 views
5

Tuần trước tôi bắt đầu phát triển một ứng dụng web CI. Kể từ đó tôi đã nhận ra rằng tôi đang lặp lại mã của mình khá nhiều liên quan đến việc xử lý thêm, xóa và cập nhật các hàng trong cơ sở dữ liệu của tôi - ví dụ như các chức năng mô hình như 'delete_invoice', 'delete_user' và 'delete_job' vv .. về cơ bản cũng làm như vậy - xóa một hàng trong cơ sở dữ liệu.Tìm kiếm plugin/thư viện CRUD tốt (ý tưởng?) Cho người viết mã

Vì vậy, không ai biết: a) Bạn có nên sử dụng một phương pháp phổ biến để làm việc đó cho tôi không? b) Có thư viện/người trợ giúp tốt hay bất cứ điều gì ngoài CI. Tôi muốn đi cho một thư viện chuẩn/ổn định hơn một cái gì đó đầy đủ các tính năng điên rồ.

Cảm ơn! John.

Trả lời

0

John, tôi sử dụng một lớp BaseModel với một phương pháp, tiết kiệm và tất cả các lớp học của tôi có và thuộc tính trạng thái đó sẽ lưu trữ những gì sẽ xảy ra với đối tượng và một số khác để lưu trữ cơ sở dữ liệu của nó, ví dụ:

người dùng sẽ bị xóa, tình trạng là "xóa" và tôi gửi cho người dùng đối tượng để các BaseModel lưu chức năng sẽ kiểm tra tình trạng:

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

đó làm việc tốt cho các dự án của tôi =)

Hope nó giúp

+0

Cả hai câu trả lời tốt, nhưng lười biếng tôi nghĩ rằng tôi muốn chỉ cần tái sử dụng những gì mà khác anh chàng liên kết với. Điều này làm cho rất nhiều ý nghĩa thực sự, tôi nên làm những điều theo cách này nhiều hơn một chút. –

0

này có thể rơi vào "một cái gì đó đầy đủ các tính năng điên" loại nhưng Thư viện ORM DataMapper cho CodeIgniter là đáng xem. Nó dường như bao gồm một số mặt đất giống như mô hình cơ sở của Jamie Rumbelow, với sự bổ sung ORM.

http://datamapper.wanwizard.eu/

Cá nhân tôi có xu hướng sử dụng một hoặc các phương pháp khác tùy thuộc vào các dự án cần.

4

Bạn có thể sử dụng crud tạp hóa, đơn giản, ổn định và có nhiều tính năng như quan hệ 1-n và n-n, tải lên tệp, trường tự động, chức năng gọi lại và nhiều tính năng khác. Bạn có thể xem hướng dẫn sử dụng và tải nó tại

http://www.grocerycrud.com

Nó thực sự dễ dàng để viết thư cho thư viện này và nó không cần phải sao chép một lần nữa và một lần nữa, mã tương tự, các mô hình tương tự, quan điểm tương tự, tương tự như JavaScript , CSS, v.v. Bạn có thể lập trình dễ dàng với một vài dòng mã, ví dụ:

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

$this->grocery_crud->render(); 

và thế là xong!