WordPress sẽ trở thành hoàn toàn OOP?


15

Có bất kỳ thông tin nào về việc WordPress trở thành OOP hoàn toàn trong các phiên bản trong tương lai không?

Câu trả lời:


17

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.


7
Nhưng bạn phải đồng ý rằng, nếu Wordpress hoàn toàn OOP thì việc hiểu mọi thứ hoạt động ở đó sẽ dễ dàng hơn nhiều. Đối với một nhà phát triển, nó đang tiết kiệm một chiếc xe tải thời gian.
Eugene

2
@Eugene - Tôi thực sự không đồng ý với điều đó. Tôi đã từng tin rằng OOP là một cách tốt hơn trong mọi trường hợp, nhưng tôi không tin điều đó nữa. Tôi đoán là vì bạn thích OOP hơn nên bạn gặp khó khăn trong việc hiểu WordPress vì nó không phải là OOP thuần túy. Nhưng như một trường hợp cụ thể, gần đây tôi đã cố gắng hiểu CodeIgnitor và tôi đã bị choáng ngợp bởi tất cả sự phức tạp OOP của nó trong khi tôi thấy WordPress cực kỳ dễ hiểu. Bằng cách tương tự tôi có thể dễ dàng hiểu tiếng Anh; Tiếng Pháp, không nhiều lắm. Nói đơn giản hơn, đó là những gì bạn biết.
MikeSchinkel

1
@Eugene: Tôi không đồng ý, rằng việc hiểu mã OOP sẽ dễ dàng hơn. Đối với ai đó, những người đang phát triển trong OOP thì có, nhưng đối với tôi, ví dụ, sử dụng ANSI C cổ điển, không thực sự.
petermolnar

1
Ôi. Hiểu rồi. OOP bab, Wordpress phong cách tốt. :) @MikeSchinkel Yep. Tôi sử dụng cả hai công cụ này trong dòng công việc của tôi. Nếu bạn đề nghị họ, thì tôi sẽ thử thêm một lần nữa. Cảm ơn mọi người đã giúp đỡ.
Eugene

2
Tôi mừng vì nghe điều này. OOP sẽ không phải là một con đường thích hợp cho WordPress.
Ciprian

4

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.

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.