WordPress nesnesi yönelimli mi?Kapsamlı keşif

Burada, WPSHOUT’ta, bir WordPress geliştiricisi olarak nesne oryantasyonunun kullanımı hakkında birkaç kapsamlı öğreticimiz var. Umarım, WordPress programlarken geliştiricilerin bir şeyler yazmasının oldukça yaygın ve kolay olmasını sağlayarak açıkladık. Temelde gördüğünüz birçok eklenti nesne yönelimli WordPress eklentileridir. Bugün keşfetmek istediğim şey daha ezoterik bir soru: WordPress nesne yönelimli bir sistem mi? Ya da kısacası “WordPress Oop mu?” Çünkü daha ayrıntılı olarak tartışacağım, hem WordPress PHP hem de WordPress JavaScript “Nesne Yollu” olduğunu söylemenin doğru olduğunu düşünmüyorum (2019’un başlarında yazdığımda). WordPress programlama dili, bu sorunun kendileri için ne kadar alakalı olduğu konusunda biraz farklıdır. Ancak bu konuda daha fazla bilgi vermek için önce “nesne yönelimli sistem” olduğunu tartışmalıyız. O zaman hem “evet” ya da “hayır” için “WordPress nesnesi yönlendirilmiş mi?”
PHP kodu “nesne odaklı?” Çok tartıştığımız gibi, özellikle “WP için OOP” ücretsiz kursunda, “nesne yönelimli” programlama temel olarak nesneleri düşünmek için bir egzersizdir. Bence PHP ve WordPress çevresinde dikkate alınması gereken en önemli üç programlama paradigmasından biri. Bu diğer ikisinin aksine: biri “prosedürler” ve diğeri “saf işlev” de düşünen düşünen. Bu konuda daha fazla bilgi için şu makaleye bakın: üç geliştirme paradigması: prosedürel, nesne yönelimli ve icra işlevsel, sistemde PHP nesnelerine (PHP sınıfı, nesne olarak kullanılan) sahip olmak sistemin kendisini “nesne yönelimli yapmaz. ” Görüşler farklı olsa da, çoğu sistem farklı nesne etkileşimleri yoluyla düzenlenirse, programlama sisteminin doğru bir şekilde “nesne yönelimli” olarak kabul edileceği fikrine katılıyorum. WordPress’te birçok nesne var. Ama yine de WP’nin OOP olduğunu düşünmüyorum. Ama yalnız ilerlemeden önce neden itiraz? PHP’de bizim için hangi nesneler yapıyor
Nesneler temel olarak insan zihninin çalışma şeklini ayarlamaya yardımcı olan bir kavramdır. Bu sıradan bir anlayış. Pek çok OOP öğreticisi, insanların nesne olarak “sandalyeler” ve “köpekler” gibi şeyleri nasıl anladıkları hakkında konuşacak. Ve gerçek dünyada bazı açılardan “sandalyeler” ve “köpekler”, kafalarımızda tuttuğumuz kişilerin daha saf kavramlarına (veya “sınıf”) örneklerdir.

WordPress’in birçok alakalı nesneye sahip olduğu yer burasıdır. Görmeden bile bildiğim aklımı hızla geçen bazıları, WordPress’in sahip olduğu: WP_USER – Sitedeki hesapları olan kullanıcıları temsil ediyor
WP_Query – WordPress tarafından “Gönderme” için yapılan bir veritabanı sorgusunu temsil eden
WP_WIDGET – (belki bu dünya için uzun sürmez), yan çubuk widget’ı temsil eder
WP_POST – Blog İçeriğinden WordPress yayınlarını temsil eden
Bütün bunlar, “bir nesne, dolayısıyla nesne yönelimli sistem” olduğu söylenebilecek temel hikayeye uygundur. Hikayeye gerçekten inanmıyorum, ama hikayenin çok şey anlattığını görüyorum.
Çoğu insanın “nesne yönelimli” ne anlama geldiği, bu yüzden daha az önce söylediğim gibi, “nesne yönelimli sistem” in popüler tanımı “PHP nesnelerini kullanan bir sistemdir”. Bu bizim basit tanımımızsa, WordPress kesinlikle en azından PHP kodunda nesne yönelimli bir sistemdir. Ancak rekabetçi bir programlama paradigması var ve bunlardan biri “prosedürler” veya “zorunlu kodu” kullanmakla ilgili ve çoğu insan WordPress’in de bunu yaptığını söylüyor. Şahsen WordPress’in nesne yönelimli olduğundan daha prosedürel olduğunu düşünüyorum.
Nesne yönelimli bir sistem olmak için, sistemin neredeyse sadece birbirini düzenleyen bir nesne olması gerektiği görüşündeyim. En azından PHP ve Web dünyasında, sınıfta “sınıfta” her “nesne yönelimli” kod “satırı kadar” saf “sistem yoktur. Ancak birçok sistem, WordPress’ten daha “nesneleri düzenleyen nesnelere” daha yakındır. WordPress, bence sizi “nesnelerle prosedürel sistemlere” “WordPress nesne yönelimli bir sistemdir.
Alan Kay (fotoğraf) OOP hakkında tartışıyor; P
Ayrıca biraz mecbur hissediyorum, çünkü çevrenin görüşünü seviyorum, “insanların nesneye yönelik kod olarak adlandırdığı şeylerin çoğunun nesne oryantasyonunun ne olduğunu yanlış anladığını” tartışan küçük ama önemli bir koşul olduğunu göstermek için. Genel argüman yolu, nesne yönelimli programlamanın mucidi olarak adlandırılan Alan Kay adlı bir adam tarafından en belirgindir. Kay’ın argümanı “tüm nesne yönelimli programlama, mesajların sunulmasıyla ilgilidir. Bu nesnenin tüm odağı, nesnelerin diğer nesneleri ‘çağırmaması’ gerektiği noktalarını kaybeder. ” Bu argüman bundan çok daha karmaşıktır, ancak bunu söylemek yeterlidir, bundan bahsediyorum çünkü Alan Kay’ın OOP’u anlarsak, hem WordPress hem de Java’da yazılan kodlar (en belirgin “OOP” dillerinden biri) gereksinimleri gerçekten yerine getirir bir nesne olarak hiç yöneltilmiş.
JS’de oop? WordPress bunu yapıyor mu?

Son not, onunla daha büyük samimiyetim ve her ikisinden daha net bir “OOP” dili haline geldiğinden, bu makalenin çoğu WordPress’in içinde ve çevresinde yazılmış PHP’ye odaklanacak. Ancak birçok orijinal WordPress kodu ve JavaScript’te yazılmış WordPress 5.0 ve Gutenberg editörü ile geliştirilen oranlar. JavaScript bir programlama dili olarak gariptir (WordPress). “Sınıf nesnesi yönelimli programlama modeline uygun olarak (ve en son yinelemede bile değil) değildir. “ES6” da JavaScript’in bir sınıfı var. Bu sınıfları kullanarak bugün en popüler JavaScript kütüphanelerinden biri olan ve Gutenberg’de yaygın olarak kullanılan React. Böylece sistem “nesne yönelimli” olarak tanımlanabilir. Ama ikinci bir uzman olmadığım için tartışmadan uzaklaşacağım. Her ne kadar PHP gibi, WordPress’teki JavaScript’in çoğunun yeterli prosedür olduğunu hissediyorum. Yani, WordPress prosedürü veya nesne yönelimli mi? Yani, sadece açıklayın ve tereddüt et. WordPress nesnesi yönelimli mi? Yoksa WordPress programlama daha prosedürel paradigmalar mı? Ya da kısaca “WP OOP?” Kısacası, cevabım: Hayır, WordPress nesne yönelimli bir sistem değildir. “Nesne yönelimli WordPress” argümanı
Dava, yukarıda yeterince uzun süre tarif ettiğim ancak burada özetleneceğim gibi: WordPress’in birçok nesnesi var. Çoğu WordPress gerçekten sadece farklı nesneleri bir araya getirir. Ve özellikle son on yılda (yaşamın 15 yılından itibaren), WordPress, çalışmalarını yapmak için PHP nesnelerinin birlikte düzenlenmesine doğru ilerliyor. O zaman, hiçbir yarışma yoktu. İnkar edilemez bir şekilde, bu binyılda WordPress tarafından tanıtılan en büyük alt sistem olan WP REST API, nesne yönelimlidir. Ve WordPress yorum sistemi gibi şeyler zamanla giderek daha ağır hale geliyor. Ancak, bu büyük ama nesne yönelime yönelik eğilim, sistemin kendisini nesneye yönlendirmez. WordPress’in nesne yönelimli bir sistem olmamasının nedeni

Temel olarak, WordPress, PHP programlama dilinin (veya özellikle JavaScript) kendi başına “nesne yönelimli” olarak adlandırılmadan önce tasarlanmış bir sistemdir. WordPress nesnesi yönelimli mi? Tam olarak değil.

Çoğu PHP yorumcusu OOP’un gerçekten PHP 5.3 ile dile geldiğini söylüyor. Bunu yazdığımda WordPress hala Php 5.2’yi destekliyor. Bu nedenle, kısaca büyük yeniden yazma işleminden (hangi WordPress uyumluluğu geri çekme sorunu için asla yapmayacaktır), WordPress asla doğru kabul edilen nesne yönelimli bir sistem olmayacaktır. Bu benim görüşüm ve ben buna hızlı davranıyorum. Özünde, WordPress teması WordPress’in asla nesne yönelimli bir sistem olamayacağının açık bir örneğidir. WordPress şablonu hiyerarşisi (Wphierarchy.com’u korumamızı gerçekten seviyoruz), asla nesnelere öncelik veren bir şekilde işlev görmeyeceği anlamına gelir. WordPress şablonu hiyerarşisi nesne yönelimli değildir. Ve WordPress’in çalışma şeklinin temel bir parçası olarak, WordPress’in nesne yönelimli olarak kabul edilmemesinin iyi bir nedeni olduğunu düşünüyorum. Bonus: Nesne yönelimli bir WordPress teması olabilir mi? Ancak, nesne yönelimli bir WordPress teması oluşturabilir misiniz? biraz. Aslında, bu soruyu kendime sorarken bir tane buldum. Buna “Oowp” denir. Ve gözlerinizi biraz daraltırsanız, bunun nasıl “WordPress teması” ve “nesne yönelimli” olduğunu görebilirsiniz. Ama kahramanca çabalarının bile rahatça “nesne yönelimli WordPress teması” olarak adlandırdığım bir şey olmayı başardığından emin değilim. Bazıları “WordPress teması” yolundan çok derinden yönlendirildi

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir