WordPress ve Nesne Yönelimli Programlama – Genel Bakış

Yayınlanan: 2021-04-20

Bir WordPress geliştiricisiyseniz, kodunuzu prosedürel bir şekilde yazmanız muhtemeldir. İstediğiniz çıktıyı elde etmek ve bir sorunu çözmek için bazı basit sıralı adımlar belirlersiniz ve bunları takip edersiniz. Basit bir örnek, aşağıda gösterilene benzer bir WordPress döngüsüdür:

 <?php if ( have_posts() ) { while ( have_posts() ) { the_post(); // // Post Content here // } // end while } // end if ?>

Bir döngüde, önce çalışan sorguya karşılık gelen gönderilerinizin olup olmadığını kontrol edersiniz ve varsa, while döngüsü ile gönderiler arasında döngüye başlarsınız. Aynısı, functions.php dosyasına ekleyeceğiniz her özel işlev için de geçerlidir.

Bu yazıda prosedürel programlamadan uzaklaşacağız ve Nesne Yönelimli Programlama (OOP) adı verilen bir programlama stiline bakacağız. Bunun programlama stili olarak şimdiye kadar kullandığınızdan ne kadar farklı olduğunu inceleyeceğiz ve bazı avantajlarına göz atacağız. Ama en önemlisi, nesne yönelimli kavramların bir WordPress ortamında nasıl çalıştığını ve aralarındaki ilişkiyi açıklayacağız.

Bu konuya girmeden önce belirtmek istediğimiz şey, nesne yönelimli programlamanın rolünü ve ne zaman kullanılmaya uygun olduğunu öğrenmenizin önemli olduğudur. Nesne yönelimli bir eklentinin veya temanın nasıl oluşturulacağını öğrenmek projeniz için uygun olabilir, ancak bu durumda bunu anlamanız önemlidir. Umarım bu makale, belirli bir projenin ne zaman ve neden nesne yönelimli kodda yazılmaya uygun olabileceğini anlamanıza yardımcı olur.

Sorun

WordPress'in kendisi zaten sizi prosedürel olarak düşünmeye itti. Ve WordPress her zaman PHP nesnelerini kullanmasına rağmen, WordPress'in kendisinin Nesne Yönelimli olduğu anlamına gelmez. Bu, OOP'nin ne hakkında olduğuna dair yaygın bir yanlış yorumdur ve birçok insanın WordPress'in Nesne Yönelimli olmadığına inanmasının nedenidir.

Prosedürel programlamayı kullanmaktan kaçınmanız gerektiğini söylemediğimizi açıklığa kavuşturmak önemlidir, ancak bu kodlama stilinde sınırlamalar olduğu doğrudur. Örneğin, bir temayı veya eklentiyi özelleştirirken, prosedürel bir şekilde kod yazarak istediğiniz HTML çıktısını elde etmeniz muhtemeldir. Peki ya ölçeklenebilirlik ve gelecekteki bakım?

Özel bir eklenti oluştururken, stok almanız ve ne kadar ölçeklenebilir olacağını değerlendirmeniz çok önemlidir. Örneğin, muhtemelen eklenti olgunlaştıkça daha fazla özellik ekleyerek eklentinizi büyütmek isteyeceksiniz. Bu noktada, prosedürel olarak kod yazarken kodunuzu düzenlemekte zorluk çekmeye başlayacaksınız.

Ancak eklentileri kodlamıyor olsanız bile, prosedürel programlama ile her şeyin artık nasıl bir araya geldiğinden emin olmadığınız bir noktaya gelme riskini alırsınız. Sonuç olarak, yaptığınız her küçük değişikliğin istenmeyen sonuçları olabilir.

Nesne yönelimli programlama, daha karmaşık sorunları çözmek için kullanılır. Prosedürel programlama ile aynı amacı paylaşabilir, ancak çoğu durumda üstün bir çalışma yöntemi sunar. Yeniden kullanılabilir, organize ve güvenli bir soruna cesur çözümler oluşturmanıza olanak tanır.

Nesne Yönelimli Programlama Sorunları Nasıl Çözer?

Nesne yönelimli programlamanın iki önemli kavramı vardır: Sınıflar ve Nesneler .

Sınıflar aslında nesneleri yapmak için kullanılan bir şablondur. Her nesnenin kendi yöntemleri ve bir dizi özellik vardır ve bu özelliklerin değeri değişebilir.

Bu yüzden ilerlemeden önce bir Nesnenin ne olduğunu anladığımızdan emin olmak çok önemlidir. Örnek olarak basit bir cümleyi parçalayalım:

'Yeşil elma yiyorum'

Elma, Nesnedir, yeşil, Nesnenin (bir Nesne özelliği) rengidir ve 'ye' fiili yöntem(işlev)'dir.

Bir Sınıf, onu kullanan tüm nesnelerin özelliklerini ve davranışını tanımlar. OOP ile sorunları çözmek, bu programlama 'tuğlalarını' doğru şekilde birleştirerek elde edilir.

Dalmadan önce, önemli bir ilk adım, önerilen çözümünüzü tasarlamak için biraz zaman ayırmaktır. Özünde, yapmanız gereken şudur:

  1. Sorunu ve eklentinin çözmek için ne yapması gerektiğini tanımlayın
  2. Sınıfları ve bunların ilişkilerini ve ayrıca nesneler arasındaki etkileşimi tanımlayın
  3. Her şeyi koda dönüştürün
  4. Projeyi gözden geçirin ve test edin

Bu aşamadayken, ilk denemede mükemmeli yakalarsanız şanslı olduğunuzu unutmayın! Sorunu çözecek doğru konsepti bulana kadar baştan başlamanız gerekecek. Bunu, daha sonra bir ekip olarak herhangi bir çakışma olmadan kullanabileceğiniz bir dizi araç sunacak yaratıcı bir sürecin parçası olarak düşünün.

OOP ile ilgili bir sonraki makalede, yukarıdaki tüm teorileri hayata geçirecek basit bir örnek göstereceğiz.

Nesne Yönelimli Programlamanın Özellikleri

Nesneye Yönelik programlamanın özelliklerine girmeden önce, basit bir metaforla nasıl çalıştığını daha fazla netleştirip açıklayamayacağımıza bakalım.

Diyelim ki biraz su kaynatmak için kullandığımız bir kazanımız var. Makineyi kullandığımızda, bunu üreticinin bize izin verdiği tek şekilde belirli bir şekilde yapıyoruz. 'Açık' düğmesine bastığımızda kazanın çalışma şeklini geçersiz kılamayız ve dürüst olmak gerekirse, bunu ne isteriz ne de buna ihtiyaç duyarız. Bu bize çok önemli iki avantaj sağlıyor.

Her şeyden önce, sınırlı işlevsellik (yani biraz su kaynatma), sistemin hem daha sağlam hem de daha güvenli olduğu anlamına gelir. Sınırlı özellik seti ve yalnızca bir 'Açma/Kapama' düğmesinin sağlanması, kullanıcı olarak kazanın mekanizmasının yakınından geçemeyeceğimiz anlamına gelir. Varsayılan olarak bu, daha az yanlışlık olduğu ve sistemin bir bütün olarak daha sağlam olduğu anlamına gelir. İşlemin basitliği, onu kullanabilen hemen hemen herkesle çok daha kullanıcı dostu hale getirir.

Pressidium ile web sitenizi barındırın

60 GÜN PARA GERİ GARANTİSİ

PLANLARIMIZI GÖRÜN

Bunu akılda tutarak, bunun Nesne Yönelimli programlama ile nasıl ilişkili olduğunu görelim. Teoride, OOP'nin üç değerli özelliği vardır: Kapsülleme, Kalıtım ve Polimorfizm .

Kapsüllemenin yaptığı, verileri ve davranışı tek bir varlık içinde gruplamaktır. Sınıf içinde, Sınıflar üzerinde Genel, Korumalı veya Özel etiketlemeyi kullanarak nasıl kullanılacağını (kazan düğmesi) tanımlayabilir ve görünürlüğünü kontrol edebilirsiniz. Bu aynı zamanda onu çok güvenli bir sistem yapan şeydir çünkü size kimin erişimi olduğunu kontrol etme yeteneği verir. Bu aynı zamanda bakımı ve kullanımı daha kolay olduğu anlamına gelir.

Kalıtım , sınıflarınız arasında kodu yeniden kullanmanıza yardımcı olmakla ilgilidir. Böyle bir örnek, bir Sınıfın başka bir Sınıfı genişletmesidir. Menü veya yorum yapısı gibi ağaç benzeri bir verinin HTML çıktısını değiştirmek için Walker Sınıfını genişletirken bunu kullanmış olabilirsiniz. Sınıflarınız arasındaki ilişkiyi anlamak, yeniden kullanılabilir nesne yönelimli kod oluşturmanıza olanak tanır.

Son olarak Polimorfizm , tüm bu ilişkilerin birlikte çalışmasını sağlayan şeydir, Sınıflarınızın ortak noktasının ne olduğunu, bu ortak öğelerin nasıl yeniden kullanılacağını ve bunların başka bir şeyle ilişkili olup olmadığını tanımlayan şeydir.

Çözüm

Bazı somut örnekler olmadan, yukarıdakilerin hepsinin hala biraz kafa karıştırıcı olması muhtemeldir. Yine de Nesne Yönelimli programlamanın arkasındaki teoriyi açıklamak önemlidir ve gelecekteki makalelerde bunu bazı faydalı örneklerle ilerleteceğiz, böylece bu heyecan verici programlama yöntemini gerçek dünyada nasıl kullanacağınızı görebilirsiniz.

Amacımız, OOP hakkındaki makale dizimizi okumayı tamamladığınızda, bu programlama yöntemini çok çeşitli durumlarda kullanacağınızdan emin olmanızdır. Bu arada, Wikipedia'da OOP hakkında okumaya devam etmek isteyebilirsiniz.

Nesneye Yönelik Programlama Dizimizin 2. Kısmını okumak için buraya tıklayın