Tại sao đối tượng Drupal không định hướng?


9

Tôi mới bắt đầu xem qua các tài liệu và nguồn (Drupal 6 tại thời điểm này) và nhận thấy rằng không có lớp nào được nhìn thấy, chỉ có số lượng lớn các hàm tiền tố. Cái này có tiện không? Liệu quyết định như vậy có một nền tảng? Tại sao?


Tại sao bạn sử dụng Drupal 6? Drupal 8 đang trên đường!
iconoclast

Câu trả lời:


14

Điều này được giải thích khá tốt về lập trình Drupal từ góc độ hướng đối tượng .

Nói tóm lại, Drupal đã tồn tại lâu hơn nhiều so với việc bạn có thể sử dụng OOP trong PHP một cách hợp lý. Có nghĩa là, PHP5 .

Drupal 7 đã sử dụng các lớp học nội bộ ở rất nhiều nơi và có lẽ nó sẽ tiếp tục như vậy với Drupal 8.

Nhưng đây là một quá trình từng bước và không phải tất cả mọi thứ cần phải là một lớp. Ví dụ, sẽ không có ý nghĩa gì khi biến các mô-đun thành một lớp duy nhất.


Drupal 8 sẽ rất OOP, kéo theo nhiều thành phần của Symfony2. Nhưng các API dành cho nhà phát triển vẫn sẽ là các móc tương thích ngược, FTMP.
paul-m

Nó sẽ còn nhiều OOP hơn nữa và quan điểm về API là không chính xác. Đó chỉ là vì mọi thứ chưa được chuyển đổi hoàn toàn. hook_block _ * () vừa được thay thế bởi hệ thống plugin, ví dụ: định tuyến sẽ thay đổi, cấu hình sẽ thay đổi, hệ thống thực thể đã thay đổi, ...
Berdir

@Berdir Tôi rất quan tâm đến cách tận dụng OOP PHP trong Drupal 7 vì có lẽ tôi sẽ không chuyển sang Drupal 8 ngay bây giờ. Có một số ví dụ?
jerome

5

Drupal đã được tạo ra trước khi oo trở nên tốt hơn trong php5. Các đối tượng đang được sử dụng nhiều hơn trong drupal trong mỗi bản phát hành nhưng bạn cần cân bằng việc viết lại hoàn chỉnh và thêm các tính năng mới.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.