WordPress Eklenti Geliştirme Sanatını Mükemmelleştirme
WordPress en popüler İçerik Yönetim Sistemidir.
Onu sadece kullanımı kolay olduğu için değil, aynı zamanda üzerine inşa edilmesi de kolay olduğu için seviyoruz.
Sahip olduğumuz WordPress'te 25'in üzerinde eklenti ve müşterilerimiz için birkaç eklenti oluşturduk.
Eklenti geliştirme yaklaşımımız yıllar içinde olgunlaştı.
Eklenti geliştirmeye başlayanlar için Eklenti El Kitabı sizin kodlama kitabınız olmalıdır. Size WordPress'te bir eklenti oluşturmanın 'nasıl' olduğunu öğretir. Bir eklentiyi kodlarken bilmeniz gereken her şeyi içerir.
Ama elbette kodlamanın ötesinde, dahası da var.
WordPress eklentinizi kullanıcı dostu, hatasız, bakımı yapılabilir, genişletilebilir hale getirmek için izlemeniz gereken birkaç süreç var!
Bunlar, uygun tasarımın kullanılması, kodlama kurallarının izlenmesi, kodun optimize edilmesi, test edilmesi vb.
Bazılarınız bunların zaten farkında olabilir.
Ancak mevcut eklenti geliştirme sürecinizi geliştirmek istemeyen ve arayanlarınız için bu makale harika bir başlangıç olabilir.
Burada bahsedilen temel bilgilerden birkaçı eklenti geliştirici el kitabında mevcuttur; diğerleri – yıllar boyunca kodlama deneyimimizden biriktirdik.
O halde lafı daha fazla uzatmadan arkanıza yaslanın, zen modunu açın ve okumaya devam edin!
#1 Kodlama Standartları Adlandırma Kurallarında Bitmez
Eklenti geliştirme veya bu konuda herhangi bir kod geliştirme sırasında kodlama standartlarının önemini yeterince vurgulayamam. Yönergeleri izlemenin nedeni basittir, aptalca hataların yapılmasını önler ve kodun bakımını kolaylaştırır.
İster önceden tanımlanmış standartlara uyun, ister şirkete özel yönergelere sahip olun, burada uymanız gereken birkaç kural vardır:
Adlandırma Kuralları
Adlandırma kuralları, kodu okunabilir, sürdürülebilir ve güvenli hale getirmeyi amaçlar. Diğer eklentilerle çakışmaları önlemek için gereklidirler. Uyumluluk sorunlarının ortaya çıkmamasını sağlamak için tüm işlevler, sınıflar, dosya adları ve ad alanları için bir önek eklemeniz gerekir.
Klasör Yapısı
JS, CSS, yönetici dosyaları ve medyayı ayırmak tasarım sürecinizin bir parçası olmalıdır. Bir proje üzerinde çalışırken, tek sayfalık bir çözüm olsa bile bu dosyaları ayırmayı unutmayın.
Biçimlendirme Kodu
Kodunuzu biçimlendirmek bir alışkanlık meselesi olmalıdır.
Değilse, yardımcı olan editörler var.
Kodunuzu biçimlendirmek onu okunabilir hale getirir. JS, CSS ve HTML dosyalarını küçültmek için beyaz boşlukları ve kod yorumlarını kaldırma eğilimindeyiz. Bu, büyük dosyalar için gerekli olsa da, minimumda tutmaya çalışın.
Veri doğrulama
Alınan veya gönderilen verileri her zaman doğrulayın . Biçimi kontrol ederek veya doğru veri türüne yayınlayarak başlayın. Çıktı veya girilen veri türüne göre değerleri sterilize edin. Senaryonuza bağlı olarak, girilen verileri güvenilir değerlere göre de kontrol edebilirsiniz.
WisdmLabs'ta PSR-2 kodlama standartlarını takip ediyoruz.
Unutmayın, aşağıdaki kodlama kuralları, ek bir adım değil, kodlama yönteminiz olmalıdır.
#2 Kodu Modüler Yapın
Modüler programlama, bir bilgisayar programını ayrı alt programlara bölme işlemidir.
– Techopedia
Büyük ölçekli uygulamaların geliştirilmesini kolaylaştırmak için nesne yönelimli programlama tercih edilir. Yazılımı daha küçük parçalara ayırarak modüler hale getirir.
Test değişiklikleri ve düzeltmeler bir modülle sınırlandırılabileceğinden ve tüm sistemi etkilemesi gerekmediğinden, kodun bakımını yapılabilir hale getirir.
#2.1 Tasarım Modellerini Kullanın (Gerekirse)
Resim Kaynağı: Pinterest
Tasarım desenleri harika!
Gerçekten öyleler.
Geliştirme sürecini basitleştirirler ve kodunuzu yaparlar. Eldeki probleme dayanarak, uygun bir desen tasarlamanız gerekir. Örneğin soyut fabrika, gözlemci, şablon yöntemi, MVC yaygın olarak kullanılmaktadır.
Şimdi, tüm eklentilerin bir tasarım deseni uygulamanıza gerek duymayabileceğini kabul ediyorum. Ancak büyük miktarda kod içeren eklentilerin yerinde uygun bir tasarıma ihtiyacı vardır.
#3 Tasarım Ölçeklenebilir Kod
Eklentiniz büyüyecek.
İşlevsellik gelişecek, kullanıcı tabanı artacak.
Bir eklenti tasarlarken, kodu şimdilik ve gelecekte uygulayacağınız özellikler için planlamanız gerekir.
Veritabanı Sorgularınızı Optimize Edin
Veritabanı sorguları pahalıdır.
Veritabanından veri alan bir işlem gerçekleştirirken, minimum sayıda sorgu kullanarak mümkün olduğunca fazla bilgi almaya çalışın.
Sorgular ve veritabanı tabloları ne kadar optimize olursa, uygulamanız o kadar ölçeklenebilir olur, çünkü çok fazla veriyi işleyebilir. Eklentinizin dosyalarını korumak için kendi dosya yapınıza sahip olabilirsiniz. Ancak veritabanı ile iletişim her zaman sorunsuz ve optimize edilmiş olmalıdır… Uygulamanızın ne kadar ölçeklenebilir olabileceğine bağlı olarak, bağımsız bir eklenti mi yoksa bir eklenti mimarisi ile mi devam edeceğinize karar vermelisiniz.
– Sumit Pore , bir eklentinin mimarisi hakkında. ( Röportajın tamamını buradan okuyun )
Ölçeklenebilir Bir Veritabanı Mimarisi Oluşturun
Eklentinizin değerleri veritabanına kaydetmesi gerektiğini söyleyin. Böyle bir senaryoda, her zaman WordPress tablolarını mı kullanacağınız yoksa kendinizinkini mi oluşturacağınız sorusu vardır.
Birkaç seçeneğin kaydedilmesi veya meta bilgilerin kaydedilmesi gerekiyorsa, WordPress tablolarını kullanmayı düşünebilirsiniz.
Ancak, birbirine bağlı birden çok değerin kaydedilmesi gerekiyorsa, kendi tablonuzu (veya tablolarınızı) oluşturmayı düşünmelisiniz.
Pahalı İşlemlerin Kullanımını Sınırlayın
Veritabanı sorgularına benzer şekilde, diğer bazı işlemler pahalıdır ve eklentinizin performansını ve aslında ekleneceği web sitesini etkileyebilir.
Örneğin, uzak sunuculara bağlanmanız, büyük verileri depolamanız, büyük dosyalar yüklemeniz gerektiğinde. Bu durumda, sistemin genel performansını iyileştirmek için bu işlemlerin kullanımını optimize edin.
#4 'Çok Güvenli' Kod diye bir şey yoktur
Bunu hepimiz biliyoruz . Güvenlik ciddi bir endişe kaynağıdır.
WordPress eklentinizi oluştururken güvenlik önlemlerine dikkat ettiğinizden emin olun. Bunlardan bazıları:
- Ayarları görüntülerken/kaydederken kullanıcı yeteneklerini kontrol edin
- Form gönderimleri için nonce doğrulamayı kullanma
- Veritabanı sorgularını yürütmeden önce girdileri sterilize etme
- Siteler arası komut dosyası çalıştırma (XSS) saldırılarını önlemek için çıkışlardan düzgün şekilde kaçma
- ABSPATH sabitinin varlığını kontrol ederek eklenti dosyalarına doğrudan dosya erişimini engelleme
- Ana eklenti dosyasına (ve her alt dizinin altına) boş bir 'index.php' dosyası ekleyerek, eklentinizin dizinindeki dosyaların doğrudan listelenmesini önleme
Veritabanı sorguları yazarken her zaman güvenlik faktörlerini göz önünde bulundurun. Örneğin, SQL sorgularınızın enjeksiyonsuz olduğundan emin olmalısınız… Siteler arası komut dosyası çalıştırmayı önlemek için form gönderimleri için nonce kullanın… Tüm girdiler sterilize edilmeli ve çıktı, kullanıcı verilerinden kaçarak güvence altına alınmalıdır.
– Praveen Chauhan , kodlama uygulamaları sorulduğunda ( burada Praveen'in tam röportajı )
#5 Hiçbir Kod %100 Hatasızdır
Resim Kaynağı: Google
Kodu test etmek, oluşturmak kadar önemlidir.
Dürüst olmak gerekirse, buggy olan bir eklenti oluşturmak için yüzlerce saat uğraşmanın bir anlamı yok. Sadece kullanıcılarınıza zarar verecek ve markanızı etkileyecektir.
Basit işlevsellik için manuel veya kullanıcı testi yeterli olabilir.
Karmaşık bir eklenti daha fazlasını gerektirir. Sürecinize birim testi, stres testi, entegrasyon testi, kabul testi vb.
Basit kontroller şunları içerir:
- Hata ayıklama modunda uyarıları ve hataları kontrol etme (bilgileri günlüğe kaydetmek için Hata Ayıklama Çubuğu gibi bir eklenti kullanabilirsiniz)
- Yavaş sorguları/HTTP isteklerini ve eklenti performansını test etmek için Query Monitor ve P3 gibi eklentileri kullanın
#5.1 Kod İncelemeleri Yardım
Kod incelemeleriyle ilgili olan şey, kodunuzu bir diğer geliştiricinin zihninden görebilmenizdir. Hataların, yeni fikirlerin, optimizasyon tekniklerinin belirlenmesinin yanı sıra ortaya çıkabilir.
Bunu yapma özgürlüğünüz varsa, geliştirme sürecinize kod incelemeleri ekleyin.
#6 Kod Katkısını Kolaylaştırın
Artık çoğumuz son kullanıcıyı göz önünde bulundurarak kod oluşturuyoruz.
Ancak geliştiriciler de eklentinizle çalışacak ve bunun üzerine inşa etmek isteyebilecekleri bir olasılık var.
Eklentinizin koduna özel eylemler ve filtreler ekleyerek kodunuzu genişletilebilir hale getirerek katkıyı teşvik edin.
Gerekli kancaların yerinde olması, diğer geliştiricilerin kodunuzu genişletmesini kolaylaştırır ve işlevselliği belirli kullanıcılar için özelleştirmenizi veya eklentiler oluşturmanızı kolaylaştırır.
Bütün bunlar çekirdeğe dokunmadan!
Diğer eklentilerle çalıştığınız ve uygun bir kanca olduğunda özelleştirmeyi daha kolay bulduğunuz zamanları düşünün.
Özel kancalar = Genişletilebilir kod = İyi geliştirme
#6.1 Eklentiyi Çoklu Site ve Yerelleştirmeyi Hazır Hale Getirin
Kullanıcı tabanınızı büyütmek için, eklentinizin kodunu çoklu site uyumlu (en azından çoklu siteye yüklendiğinde hatasız) ve yerelleştirmeye hazır hale getirmek için basit kodlama tekniklerini uyguladığınızdan emin olun.
#7 Bakım, Optimizasyondan önce gelir
Eklenti bakımı yalnızca hata düzeltmeleri ile ilgili değildir, güncellemeler sağlamak ve kodunuzu optimize etmekle ilgilidir.
Optimizasyon iyidir. Bu. destekliyorum.
Ancak bazen geliştiriciler, kod optimizasyonu ile aşırıya kaçma eğilimindedir.
Unutma, mantra, kodu optimize et, karmaşıklaştırma.
Sürdürülebilir bir kod yazmak veya onu optimize etmek arasında seçim yapmak zorunda kaldığım bir durumda olsaydım, öncekini seçerdim.
Bunun nedeni, bir ekip halinde çalışıyoruz. Bir ekibin parçası olduğunuzda, eklenti üzerinde birden fazla kişi çalışıyor olabilir. Oturup kodu her zaman farklı insanlara açıklamak istemezsiniz.
Birkaç ay önce yazdığınız kodu hatırlamayabilirsiniz.
Her şeyi yorumlayın – iyi yorumlanmış kod mutlu koddur.
– Hugh Lashbrooke , takip edilmesi gereken kodlama uygulamaları hakkında
#7.1 Büyük Güncellemeleri Yönetme
Yakın zamanda, Edwiser Bridge eklentisinin tamamını ve uzantılarını tamamen yeniden yazdık.
Güncellemeyi kullanıma sunmak istediğimizde, daha güvenli olmak için mevcut kullanıcılara bir 'güncelleme uyarısı bildirimi' eklememiz gerektiğini fark ettik.
Ancak bu, yalnızca eklentinin mevcut sürümünde bir uyarı bildirimi görüntülemek için destek sağlamış olsaydık mümkün olabilirdi.
Biz yoktu!
Alınan ders – Güncelleme Bildirimleri için destek ekleyin! ( ## Benioku dosyalarında ## Yükseltme Bildirimi )

Bir sonraki görev, eski kodu güvenli bir şekilde çıkarmaktı.
Seçenekleri/kodu amorti edilmiş olarak işaretlemek, kullanıcıların/geliştiricilerin yeni ayarlara/kancalara geçmesini sağlamanın bir yoludur. Ancak, artık desteklenmeyen koddan ne zaman tamamen kurtulacağınıza dair basit bir kural yoktur.
Kod yeniden faktörlendiğinde en az sayıda kullanıcının etkilendiğinden emin olmanız gerekir.
#8 Belgeler. Belgeler. Belgeler.
Ana şey, hem kendi yararınıza hem de kodunuza bakan diğer geliştiricilerin yararına kodunuzu belgelemektir. Bundan bir yıl sonra, yazdığınız küçük bir kodun ne yapması gerektiğini hatırlamayacaksınız, ancak eğer güzel bir şekilde belgelenirse, gelecekteki benliğiniz size teşekkür edecektir!
– Carrie Dils , kodlama uygulamaları hakkında.
Eklentiniz, siz onu belgeleyene kadar hazır değil.
Ve güven bana, hiçbir belge yeterli değildir. Öyleyse dışarı çıkın; bir kullanım kılavuzu oluşturun, SSS ekleyin, videolar oluşturun, kullanıcılarınıza elinizden gelen her şekilde yardımcı olun.
Ama en azından bir benioku.txt dosyası oluşturun .
#9 Seçenekleri Geliştirmek için Zekayı Kullanma
Her zaman işleri bir adım daha ileri götürebilir ve kullanıcılardan aldığınız verilerle eklentinizi geliştirebilirsiniz.
Kullanıcıların ayarlarla nasıl etkileşimde bulunduğunu ve hangi seçeneklerin kullanılmadığını öğrenin; kullanıcıların da dört gözle beklediği özellikler hakkında bilgi edinmek için geri bildirim formları gönderin ve daha fazlası
Harika Bir Eklenti için Gizli Malzemeler
- WordPress panosuna doğal olarak uyan bir kullanıcı arayüzü
- Sezgisel ve öğrenmesi çok az zaman alan bir deneyim
- Yönettiği verilerin uygun şekilde temizlenmesi, doğrulanması ve güvenliği
- Kurulum ve kaldırma sonrasında kendini düzgün bir şekilde kurar ve temizler
- Son kullanıcının WordPress tabanlı sitelerinde yaşadığı bir sorunu çözer.
– Tom McFarlin , harika bir eklentinin malzemeleri hakkında.
Unutmayın, bu makale eklenti geliştirme süreci için her şey yolunda değil. Geliştirme sürecinizi iyileştirmenize yardımcı olmayı amaçlamaktadır.
Okurların yararına, bana katılmaya ve bu listeye katkıda bulunmaya davetlisiniz.
ev borcu WordPress sitesi
