2012-01-09 28 views
6

My question is fairly clear, Tôi thực sự muốn nghe một số lý do cho câu trả lời.Bạn có bao bọc PDO hoặc mở rộng nó không?

thông tin bổ sung:

  • tôi không sử dụng bất kỳ loại PHP Framework.
  • PHP> 5.3.

Cập nhật:

Ngay bây giờ tôi không có nhiều hạn chế xung quanh dự án của tôi, đó là một dự án một người đàn ông chưa và tôi đã làm việc chăm chỉ để làm cho tất cả mọi thứ như mất đi đôi và mô-đun như khả thi. giống như tôi đã nói, tôi không thích API PDO sau khi chơi với nó trong một thời gian, nhưng đó không phải là vấn đề lớn nếu gắn bó với API công cộng sẽ cho tôi sự linh hoạt hơn hoặc được coi là thực hành tốt. Vì vậy, câu hỏi của tôi là, Bạn sẽ đạt được gì và mất đi bằng cách sử dụng Thành phần hoặc Kế thừa xem xét đối tượng được đề cập là một lớp Abstraction, PDO trong trường hợp này, phải không?

tl; dr: Một dự án người đàn ông cố gắng để được Modular càng tốt, phần hoặc thừa kế cho việc sử dụng một 3rd lớp trừu tượng bên (PDO cụ thể)?

Lưu ý: nếu nó không đúng nơi, hãy bỏ phiếu để di chuyển đến lập trình viên. và xin lỗi vì tiếng anh xấu của tôi.

+0

@Downvoter: Hãy cẩn thận để xây dựng? –

+3

Điều này mời một cuộc thảo luận khá nhiều (đó là lý do tại sao bạn nhìn thấy phiếu giảm giá, và chúng tôi đang nhìn thấy lá cờ). Nếu bạn có thể sửa đổi điều này để bao gồm trò chơi kết thúc của bạn trong kịch bản này .. câu trả lời có thể được nhiều hơn nữa khách quan và điều này có lẽ sẽ là chủ đề tại lập trình SE. Hãy nhớ rằng, Stack Overflow là cho các vấn đề _real mà bạn phải đối mặt, vì vậy một kịch bản cụ thể hơn là cần thiết theo cách (nếu lý thuyết, thì các lập trình viên sẽ là nơi tốt hơn). –

+0

@TimPost Cảm ơn bạn đã xóa mọi thứ, hãy cập nhật câu hỏi của tôi. –

Trả lời

5

Tôi là người hâm mộ gói cho các lớp "bên thứ 3" theo cách đó bạn ít phụ thuộc nhiều hơn vào hỗ trợ cho lớp học. Nếu ai đó sau đó sẽ thay đổi tên chức năng trên PDO, mã của bạn sẽ thay đổi xung quanh tất cả mã của bạn. Với gói chỉ lớp bao bì sẽ thay đổi khi giao diện của bạn độc lập.

3

Tôi thường không bận tâm khi gói nó trừ khi bạn không thích API. Nếu bạn quyết định đi xuống tuyến đường này thì tôi sẽ sử dụng Idiorm (và có thể Paris cho hồ sơ hoạt động) thay vì lăn của riêng tôi.

Tôi sẽ không bao giờ nghĩ đến việc mở rộng tiện ích mở rộng của bên thứ ba trừ khi tôi dự định duy trì mã của mình hoặc không bao giờ nâng cấp thư viện đó. Bằng cách gói của bạn là sandboxing thư viện của bên thứ ba ra khỏi mã của bạn càng nhiều càng tốt để bạn sẽ ít bị ảnh hưởng bởi những thay đổi mã của họ.

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