WordPress PHP kodlama standartlarına giriş
Kodlama kurallara uymanızı sağlar – kodunuzun derlenmesini veya çalıştırılmasını istiyorsanız her dilin kendi sözdizimi vardır. Ancak, gerçek kodu çalıştırmanın önemli olmasa da, kodlamanın çevresel bölümünde yardımcı olan bir dizi başka kural da vardır. Bu kurallara kodlama standartları denir. Kodlama Standardı, kod yazması için önerilen bir sözleşmedir. Her dilin kendi dili vardır ve bir sistem olarak WordPress, onu oluşturmak için kullanılan her dil için kendi versiyonu vardır. WordPress, PHP, erişilebilirlik, CSS, HTML ve JavaScript için bir kodlama standardı vardır.
Bu makale PHP kodlama standartlarına odaklanacaktır. Kodlama standardını keşfetmeden önce, PHP dilini yeni başlayanlar için PHP öğreticileri, PHP geliştiricileri için temel WordPress öğreticileri veya özellikle PHP yankılarını anlamak isteyebilirsiniz. Neden kendinize sorabileceğiniz WordPress kodlama standartlarını takip edin: Neden WordPress’te iş kodları yazmak için kesinlikle gerekli olmayan tüm yeni kuralları taahhüt etmek istiyorum. Bu iyi bir soru ve tanıtımında WordPress kodlama standart belgeleri tarafından cevaplanan bir soru:
Kodlama standartları, genel kodlama hatalarını önlemeye, kod hazırlığını artırmaya ve değişiklikleri basitleştirmeye yardımcı olur. Projedeki dosyaların bir kişi tarafından yapılmış gibi görünmesini sağlarlar. Standardın izlenmesi, herkesin kod bölümünü anlayabileceği ve gerekirse, ne zaman yazıldığına veya kimin tarafından değiştirilmeden değiştirebileceği anlamına gelir. WordPress’in çekirdeğine katkıda bulunmayı planlıyorsanız, kendinizi bu standarda aşina olmanız gerekir, çünkü gönderdiğiniz kod ona itaat etmelidir. WordPress kodlama standartları mantığının belgeleri Bu makaledeki kuralların arkasında, bazı kodlama standartlarını göreceğiz ve hangi sorunları çözmeye çalıştıklarını, yani kuralların arkasındaki motivasyonun ne olduğunu anlamaya çalışacağız. Bu makalede görünen motivasyon kategorisi: Hata Önleme
Okunabilirlik
Daha kolay tedavi
Tutarlılık biçimi
Hataların Önlenmesi Kod yazarken, alışkanlıklarımızın bizi olabildiğince çok hatadan uzak tutmasını istiyoruz. Aşağıdaki kural buna yardımcı olur.
Brace Style – Diş telleri ile ilgili en önemli kongre, ihtiyaç duyulmadıklarında bile her zaman kullanılması gerektiğidir. Bu, gelecekte kod durumunda yürütülen ifadeye kod eklenirse, kıvırcık parantezleri tüm ifadelerin etrafına eklemeyi hatırlamanız gerekmez – kıvırcık parantez zaten orada ve her şey Yapmak zorunda kodunuzu eklemek.
Sonraki boşlukları silin – PHP belgelerine göre, “Dosya yalnızca PHP kodu içeriyorsa, dosyanın sonundaki PHP kapak etiketini kaldırmak daha iyidir. Bu, PHP kapak etiketinden sonra istenmeyen etkilere neden olabilecek kasıtsız beyaz boşlukları veya yeni çizgileri önler, çünkü PHP, programcının komut dosyasında herhangi bir çıktı gönderme niyeti olmadığında çıkışı arabelleğe almaya başlar. WordPress, kapanış etiketlerinin kullanımını yasaklamasa da, daha sonra alanın kaldırılmasını gerektirir. SQL deyimi biçiminde – veritabanına veri girerken, en önemli güvenlik eylemi verileri temizlemektir, yani hiçbir tehlikeli kodun olmamasını sağlamaktır. girdi. Bunu yapmanın yolu verileri önlemektir ve WordPress bunu yapan birkaç işlev vardır. WordPress kodlama standartlarına göre, faul sıraya mümkün olduğunca yakın yapılmalıdır, $ wpdb-> prepare () kullanmak daha iyidir. Kodlama Standart Belgeler Geliştiricilere Codex’teki Veri Doğrulama bölümünde kaçma hakkında daha fazla bilgi edinme gönderir.
Yoda Koşulları – Değişkenleri değerlerle karşılaştıran kodlama koşulları (eğer ($ x == 3)), çiftle aynı işareti kullanırız. Ancak, değişkene belirtilen bir değer üretecek olan aynı işareti kolayca ortadan kaldırabiliriz, bu da büyük olasılıkla istenmeyen bir sonuçtur. PHP Parser bizi bu konuda uyarmayacak çünkü arzu edilmese bile çok yasal. Bu tür hataları önlemenin iyi bir yolu, her zaman sağ tarafa değişkenler koymak ve sol tarafa sabitleri, değişmezleri veya fonksiyonel çağrıları koymaktır. Bu şekilde, bir ayrışma hatası alacağınızla aynı işareti yanlışlıkla ortadan kaldırır, çünkü Yoda koşulları adı verilen bu tür durumun sabitlerine ayarlayamazsınız ve WordPress kodlama standartları durumunuzu bu şekilde yazmanızı gerektirir. Yazmadığınız kodu okuyun, başlangıç ve bitişin nerede olduğunu açıklamaya çalışmak yerine, kolayca tarayabilir ve ne yaptığına odaklanabilirsiniz, hizalama sorununun üstesinden gelmeli ve diğer görsel bozuklukların üstesinden gelmelidir. önemli.
Dizilerin Tanımlanması – Diziler Array () dil yapımı kullanılarak yapılabilir. Ancak Array () ile [] ile değiştirilen kısa bir dizi sözdizimi vardır. WordPress kodlama standartları, uzun dizi sözdiziminin kullanılmasını önerir, çünkü okunması genellikle kısa dizi sözdiziminden, özellikle de zorluk görme görenler için daha kolaydır. Buna ek olarak, bu yeni başlayanlar için çok daha açıklayıcıdır.
Okunabilirliği artırmak için PHP Tag Açma ve Kapanış Kuralları mevcuttur. Kurallar, HTML bloğundaki çok aralıklı PHP snippet’lerini sabitlerken, PHP’nin açık ve kapsadığı Etiketin tek bir satırda olması gerektiğini gerektirir. Bu kuralın uygulanması, HTML’de PHP’nin birbirine geçmesini takip etmeye yardımcı olur ve eksik bir PHP etiketi olup olmadığını hızlı bir şekilde görün. Elseif kullanın, başka değilse – PHP kontrol yapısı için 2 tür sözdizimine izin verir (If, For, for, for, for, for, anahtar) . İlk tip, açık ve kapanış kıvırcık braketleri kullanan olağandır. İkincisi, kontrol yapısı için alternatif bir sözdizimi olarak adlandırılır, bu da bu sözdiziminin temel şekli bukleleri bir noktaya (:) ve kapanış kıvırcık braketlerini endif’e dönüştürmektir; , son zaman; , Endfor; , Endforeach; , veya sonSwitch; , her biri. WordPress kodlama standardı alternatif sözdizimi kullanımına izin verdiğinden ve sözdizimi başka biriyle uyumlu değilse, WordPress kodlama standartları elseik kullanmayı dikte eder, her iki kontrol yapısı sözdizimi ile her zaman uyumlu olmazsa.
Adlandırma Sözleşmesi: Adlandırma Sözleşmesinin temel amacı, kaynak kodunu okumak ve anlamak için gereken çabaları azaltmaktır (başka hedefleri burada bulabilirsiniz). Bu nedenle, özel kurallar bir sorun değildir – önemli olan, herkesin onu takip etmesidir,
Değişkenlerdeki küçük harfler, eylemler/filtreler ve sonuçta ayrılan işlevlerin ve kelimelerin adları.
Sınıf adı, sonuçta ayrılmış bir sermaye mektubu kullanmalıdır.
Sabit, alt çizgiyle tüm büyük harflerle olmalıdır, kelimeleri ayırır.
Dosya Adı Sözleşmeleri de.
Fonksiyon argümanı için bayrak değeri oldukça açıktır. İçindeki değerler, fonksiyonun tanımını aramamız dışında demektir. Kodun, Boolean değil, tanımlayıcı bir dize değeri kullanarak okunması daha kolay hale getirilebilir. Örneğin, işlev argümanını bu şekilde tanımlamak: Fonksiyon EAT ($ What, $ hız = ‘yavaş yavaş’) net bir işlev çağrısı üretir: EAT (‘mantar’, ‘yavaş yavaş’); . Bu işlevin tanımından daha açıktır: işlev EAT ($ What, $ yavaş = true) çünkü işlevinin işlevi boolean değerini kullanır: EAT (‘mantar’, true); Bu, işlevin tanımını hatırlamıyorsanız net değildir. Kodlama standardı üçlü operatörlerin kullanılmasına izin verir, ancak ifadenin doğru olup olmadığını test etmek için kullanımlarını sınırlar. Değilse, sadece kafa karıştırıcı olacaktır. (İstisnalar! Boş () kullanacaktır, çünkü burada yanlış test genellikle daha sezgiseldir.)
Akıllı kodlar kullanmayın – bu kural birçok şey içerir, hepsi kısa ama kafa karıştırıcı mezhepler olan birçok kod örneği vardır. WordPress kodlama standartları her zaman zeka veya kısa üzerinde okunabilirliği tercih edecektir. Akıllı kod gibi şeyler içerir
|| Değişkenlerin varlığını kontrol eden operatörler,
Gevşek karşılaştırma (üç kez (===) aynı işaret yerine çift (==) ile aynı işaret (==),
Görevleri şartlı yerleştirmek,
Goto ifadesi,
Değerlendirme (),,
Create_function () işlevine izin verilen “akıllı” kodlardan biri, açıkça yorum yapması gerekse de, Switch ifadesinde, bazı boş durumlar genel bloğa girebilir. Bir kutu bir blok içeriyorsa, bir sonraki bloğa düşer. SQL ifadesini biçimlendirme – SQL ifadeleri ile ilgili başka bir kural, SQL ifadelerini biçimlendirirken, bunu garanti edecek kadar karmaşıksa birkaç satıra ayırabilir ve girinti yapabilirsiniz. Çoğu ifade bir çizgi olarak iyi çalışır. Her zaman güncellemeler veya nerede gibi ifadelerin SQL bölümünde büyük harf kullanın.
Daha kolay tedavi
Anonim işlevlere izin verilir, sadece bir filtre veya geri çağrı olarak devam etmemelidir, çünkü remove_ace () / remove_filter () tarafından kaldırılamaz.
Daha uzun PHP sürümü steno PHP etiketlerini desteklemez ve bu nedenle bunun gibi etiketlere izin verilmez.
Dinamik kancaların adlandırılması için enterpolasyon, etiket adlarında dinamik değerler içeren kancalardır, örneğin {$ new_status} _ {$ post-> post_type} (publish_post). Bu kanca, sabitler arasında değişkenler ekleyerek yapılmalıdır, bunları dizeler olarak birleştirerek yapılmalıdır. WordPress kodlama standartları, teknik olarak nasıl oluşturulacağını tam olarak açıklar, ancak aynı zamanda içerik kuralları ekler – mümkünse, etiket adındaki dinamik değerlerin mümkün olduğunca kısa ve mümkün olduğunca net olması gerektiğini. $ user_id, diyelim ki, $ this-> id’den çok daha fazla belgeleniyor.
Hata Kontrol Operatörü @ –
PHP belgesinde belirtildiği gibi:
PHP bir kontrol operatörü hatasını destekler: Sign (@). PHP’deki ifadeye eklendiğinde, ifade tarafından üretilebilecek herhangi bir hata mesajı göz ardı edilecektir. Bu operatör gerçekten özünde olmasına rağmen, doğru hataları kontrol etmek yerine genellikle tembel olarak kullanılır. Kullanımı önerilmez, çünkü PHP belgeleri bile belirtilmez: Extract () – Extract, değişkenleri bir dizinin geçerli sembol tablosuna aktaran bir işlevdir. Bu, kullanımdan sonra, nasıl göründüklerinin kodundan açıkça görülmeden yeni değişkenlerin aniden tanıtıldığı anlamına gelir. Joseph Scott tarafından açıklandığı gibi, kodun hata ayıklanmasını zorlaştırıyor ve anlaşılmasını zorlaştırıyor.
Gelişen tüm geliştiricilerde ve platformlarda kodun tutarlı görünmesini sağlamak için bazı kurallar mevcuttur. Bu, bir yandan onsuz iyi yaşayabileceğimiz bir kuraldır ve kodda hiçbir şey olmaz, ancak kural mevcut değilse, her geliştirici kod formatı ile ilgili kendi kararını verebilir, ancak kod arasında farklı görünecektir. geliştiriciler. Fark bir atılım haline gelmese de, örneğin aynı dosyanın 2 sürümünü karşılaştırırken hala rahatsızlığa neden olabilir. Dolayısıyla, kod tutarlılığı adına, WordPress kodlama standardı sizi karar vermenin gerekliliğinden kurtarır – yalnızca kuralları uygulamanız ve artık düşünmemeniz gerekir.
Tutarlılığı biçimlendirin veya kararları ortadan kaldırın
Tek veya çift tırnak işareti kullanma açısından, WordPress kodlama standardı, bir dizideki hiçbir şeyi değerlendirmezseniz, tek bir tırnak işareti kullandığını söyler. Ayrıca, bir dizedeki alıntılardan kaçınmanız gerekmediğini de önerir, çünkü alıntı stilinizi değiştirebilirsiniz, örneğin: echo ” echo ” $ linkName “; neredeyse bir kızı neredeyse hiçbir sonucu olmayan ünlü sekme-vs-spasi savaşında), wordpress kodlamasının pratik kuralları Standart, sekmelerin eğriler için çizginin başlangıcında kullanılması gerekirken, uzaylar orta hatta hizalama için kullanılabilir. Diş tellerinin konumu, onu tetikleyen komutla aynı satırda olmalıdır.
Çok satırlı işlev çağrıları durumunda, kodun çalıştırılması üzerinde hiçbir etkisi yoktur, ancak yine de yerel kararlar geliştiricilerine olan ihtiyacı ortadan kaldırması gereken kararlar alınmıştır: işlevleri birkaç satıra bölerken, her parametre ayrı bir yolda olmalıdır. . Bir satır çizgisi kendi çizgilerini alabilir.
Kodlama standartları, her kod satırının sonunda boş alanları silmenizi sağlar.
Mekanların yerleştirilmesinin düzgünlükten başka bir etkisi yoktur, ancak operatörün her iki tarafında, parantezlerin her iki tarafında da açık ve kapalı olan ve daha birçok durum detaylandırılmıştır. burada.
Biçim SQL İfadeleri – Her zaman güncellemeler veya nerede olduğu gibi SQL bölümünde her zaman büyük harf kullanın. Normal ifade – normal ifadeler için 2 standart sözdizimi vardır: hangi POSIX (POSIX, taşınabilir işletim sisteminin arayüzünün kısaltılmasıdır, Yani bunun işletim sistemi arasındaki uyumluluğu korumayı amaçlamaktadır) ve PCRE (PCRE, Perl uyumlu normal ifadeyi temsil eder). WordPress kodlama standartları, tercih edilen yöntemin PCRE yöntemi olduğunu belirtir. Buna ek olarak, bir anahtar /e kullanmamanız, bunun yerine preg_replace_callback kullanmamanız gerektiği söylenir; Ayrıca, normal ifadeler için neden tek bir alıntı dizisi kullanmanız gerektiğini de açıklar.
WordPress kodlama standartlarını kodlama rutininize nasıl entegre edersiniz Elbette, hiç kimse kod yazarken tüm bu kuralları hatırlamanızı beklemez. Bunu entegre etmenin en iyi yolu fikirlerinizle ve eğer mümkün değilse, harici bir araç aracılığıyla
PHP_CODESNIFFER PHP_CODESNIFFER, belirtilen kodlama standartlarının ihlallerini algılamak ve iyileştirmek için PHP, JavaScript ve CSS dosyalarına jeton verir. PHP_CODESNIFFER için bir WordPress kodlama standardı, PHPStorm’daki kodlama standartlarını entegre eder, aşağıdaki WordPress kodlama standartlarının PHPStorm’da nasıl entegre edileceğine rehberlik eden kaynaklardır:
Php codesniffer yükleyin
WordPress Özel Kodlama Yardımı Yükle
PHPStorm’a Standart WordPress kodlamasını kolayca yükleyin
Kod vs vs kod ayrıca, siteniz, temanız veya eklentiniz için bir WordPress kodlama standardı hazırlamanın bir yolu vardır.