Câu trả lời:
Tôi có thể nói với khoảng 99,9999% chắc chắn rằng WordPress sẽ không bao giờ trở thành OOP hoàn toàn trong phiên bản tương lai, trong đó chủ đề đã xuất hiện nhiều lần trong danh sách tin tặc wp và các thành viên nhóm nòng cốt đã không bày tỏ sự quan tâm đến làm như vậy.
Khi tôi nhìn vào kinh nghiệm cá nhân của tôi về lập trình và giảng dạy OOP bắt đầu từ khoảng năm 1990, tôi đồng ý với nhóm nòng cốt và nghĩ rằng OOP hoàn chỉnh sẽ là một sai lầm. Mặc dù tôi đã từng rất nhiệt tình với OOP và nghĩ rằng OOP là thuốc chữa bách bệnh mà tôi đã tin rằng nó có giá trị trong một số bối cảnh nhưng trong các bối cảnh khác, nó lại cản trở.
Một trong những vấn đề lớn nhất mà tôi gặp phải với OOP là nó buộc nhà phát triển phải nung trong cấu trúc từ lâu trước khi nhà phát triển thực sự hiểu cấu trúc đó sẽ là gì và sau đó dẫn đến vấn đề lớp cơ sở mong manh .
Tất nhiên đối với các khía cạnh được chọn của WordPress, OOP có rất nhiều ý nghĩa và nếu bạn nghiên cứu cốt lõi, bạn sẽ tìm thấy các lớp như vậy; Widget
, List_Tables
(trong 3.1) , v.v.
Tại thời điểm này, tôi rất vui khi làm việc với WordPress trong mô hình chủ yếu không phải là OOP và nghĩ rằng nếu đó là OOP thuần túy thì WordPress sẽ không bao giờ đạt được những điều sau đây. Tại sao? Bởi vì OOP đã nâng cao mức độ phức tạp cho các nhà phát triển plugin và chủ đề WordPress, và nó có thể đã dẫn đến một ứng dụng không đủ linh hoạt để phát triển khi nhóm nòng cốt tìm hiểu thêm về nhu cầu của người dùng trong quá khứ 6 năm.
FWIW.
Rất nhiều thành phần WP được viết lại bằng mã OOP với mỗi bản phát hành mới và các thành phần mới có xu hướng sử dụng nó (ví dụ như WP_Customizer
điều này). Nhưng nếu bạn đang hỏi liệu WP có thay đổi kiến trúc của nó thành một hướng hoàn toàn hướng đối tượng hay không - thì không, hiện tại không có thông tin nào cho thấy điều đó.
Tôi sẽ không đi xa để nói rằng điều đó sẽ không bao giờ xảy ra, nhưng không chắc là nó sẽ xảy ra trong tương lai gần, và có lẽ không phải vì vấn đề "lớp cơ sở" :)
Trước hết, chỉ có những bất lợi trong việc sử dụng mã thủ tục qua OOP cho một ứng dụng CMS như WordPress, đơn giản vì các ứng dụng đó có nghĩa là được mở rộng thông qua các plugin. Việc kết hợp các hàm và biến toàn cục không giúp việc này dễ dàng hơn chút nào. Vào thời điểm WP được viết, không ai có thể đoán được WP sẽ trở thành gì và nhiều lựa chọn tồi tệ đã được đưa ra. Bây giờ thật khó để bắt kịp, bởi vì hầu hết các plugin và chủ đề sẽ ngừng hoạt động bình thường. Việc triển khai một lớp tương thích lớn để tránh điều đó có thể sẽ làm chậm WP và gây thêm sự nhầm lẫn giữa các nhà phát triển. Ngoài ra, hãy nghĩ về mục đích - để giảm bớt cuộc sống của các nhà phát triển, với chi phí của người dùng?
Nếu nó giúp - một cuộc thảo luận rất cũ về tin tặc wp nhưng vẫn liên quan đến chủ đề này và một ý tưởng được đề xuất bởi cộng đồng, giờ đây được gắn thẻ là "lãnh thổ plugin". Gần đây tôi không nhận thấy hoạt động khác theo hướng này.