2010-12-29 36 views

Trả lời

0

Tôi nghĩ bạn nên sử dụng hồ sơ hoạt động vì hầu hết thời gian tôi nghĩ bạn có thể trả tiền phạt lớn bằng cách sử dụng lớp trừu tượng khác (ORM).

1

Câu hỏi này rất mơ hồ và phụ thuộc hoàn toàn vào trường hợp sử dụng.

Dù sao, tôi thích Doctrine qua truy cập cơ sở dữ liệu được tích hợp đơn giản vì tôi thích viết các truy vấn thay vì làm việc với (truy cập DB lạ của CI). Điều này có nhiều cảm giác OO hơn việc triển khai CI và nó rất mạnh mẽ vì nó cho phép bạn làm những việc tương tự như với SQL thông thường (các phép nối phức tạp, các lựa chọn con, các điều kiện WHERE nâng cao hơn).
Tôi cũng thích nó vì bạn có thể nhảy vào quá trình truy vấn nghĩa là bạn có thể thực hiện hành động trước khi truy vấn được cam kết, sau khi cam kết, áp dụng các quy tắc và hơn thế nữa. Tôi đã không nhìn thấy điều này một cách dễ dàng trong CI.
Đọc ví dụ trong tài liệu để xem tôi đang nói về điều gì.

Tích hợp vào CI không gây đau đớn với Doctrine (có nhiều bài đăng trên internet và thậm chí một số bài viết trên SO), do đó bạn không phải học bất kỳ quy ước mới nào.

Bất cứ khi nào bạn chọn, hãy nhớ rằng bất kỳ ORM nào cũng sẽ thêm một lượng lớn (so với dấu chân của CI) trên một khung rất nhẹ. Vì vậy, bạn hy sinh trọng lượng nhẹ cho các tính năng cơ sở dữ liệu mạnh mẽ và trừu tượng hơn.

1

Tôi thích sử dụng Hồ sơ hiện hoạt. Nó đã có và tôi đã không gặp phải một tình huống mà nó đã không đáp ứng nhu cầu của tôi. Tôi đã không sử dụng ORM khác trên đầu trang của CodeIgniter, nhưng tôi nghi ngờ nó sẽ thêm một lớp không cần thiết trong hầu hết các trường hợp.

Bạn cần làm gì để xây dựng trong các công cụ Active Record không cung cấp?

+2

Active Record chỉ là một mẫu, các công cụ ORM hỗ trợ mẫu này, nhưng thêm nhiều hơn nữa (như cấu hình các bảng của bạn trong các lớp của bạn). Lớp Active Record tiêu chuẩn của CI chỉ cung cấp cho bạn một giao diện cơ bản. – thomaux

Các vấn đề liên quan