WordPress’te küresel PHP ve değişken kapsamı anlamak

En çok iftira edilen WordPress özelliklerinden biri “Global PHP değişkenlerinin” kullanılmasıdır. Global değişken hemen WordPress’ten ayrılmasa da, seviyor musunuz veya nefret ediyor musunuz? Bu yüzden bugün Global PHP WordPress hakkında bilinmesi gereken her şeyi tartışacağız: nasıl düşünülecek; PHP’de küresel değişkenler nasıl yapılır; Global WordPress değişkenlerine nasıl erişilir; ve yazılım uygulamalarında küresel koşullar hakkında teori ve tartışma hakkında biraz.
PHP’deki değişkenlerin kapsamının anlamı nedir, her belirli PHP ünitesinin küresel kapsamdaki değişkenlere erişimi olacaktır veya yalnızca gerçekleştirilen işlevde bildirilen değişkenlere erişimi olacaktır.
Scope, Amerika Birleşik Devletleri’nde popüler bir ağız gargarası markasıdır. Ama aynı zamanda ve daha da önemlisi, neyin alakalı ve kim ve nerede tarafından görülebileceği hakkında. İnsanlar şu anda yaptıklarıyla ilgili olmayan faaliyetler veya fikirler hakkında konuşurken “kapsam dışında” ifadesini kullanırlar ve değişkenlerin kapsamı ile çok ilgilidir. PHP gibi programlama dilleri, değişkenlere yalnızca belirli bir bağlamda veya kapsamda erişilebilecek şekilde yazılır. Bu çeşitli şekillerde yapılır ve farklı dillerdeki çeşitli kurallara dayanır. Ancak değişken kapsamın amacı, programın bir kısmının $ i ila 5 ayarlayabileceği ve bu değeri kullanmayı beklerken ve diğer parçaların 981235792 veya “salatalık” olarak ayarlanabileceği sorunu önlemektir. Her ikisi de aynı $ i kullanırsa, programın bir kısmı büyük olasılıkla çalışmaz.
Değişkenlere programın (ve program programcının) patlamasını önlemek için bir kapsam verilir.Yerin programlama dillerinden programlama dillerine kadar değiştiği durumlarda hangi değişkenlere erişilebileceğini kontrol eden özel kurallar.WordPress ve PHP ile ilgilenen biri ile alakalı olan, bu bağlamda belirli bir çalışma yoludur.Bir dil olarak PHP keşif işlevini kullanır.Yani, her belirli PHP ünitesinin küresel kapsamdaki değişkenlere erişimi olacaktır veya yalnızca gerçekleştirilen işlevde bildirilen değişkenlere erişimi olacaktır.Ve bir işlevde bildirilen değişkenler, açıkça belirtmedikçe küresel olarak mevcut olmayacaktır.Soyut konuşmaya devam edebilirim, ancak PHP ile somut hale gelmemiz daha iyi olduğunu düşünüyorum: Fonksiyondaki küresel değişkeni beyan edeceğiz ve ayrıca küresel kapsama erişeceğiz.
Global PHP değişkenlerine örnekler: Bu bölümde PHP kapsamı ile oynamak size sadece bu küresel değişkenin tüm kapsamının bazı temel PHP’lerde ne olduğunu açıklamak istiyorum. Global değişkenleri bildirin, Global Değişkenlere Erişim ve diğerleri bu WordPress olmayan PHP kodunun örneği ile açıklanabilir: $ Global = “Bir işlevin içinde tanımlanmadığım için global bir değişkenim.”; İşlev my_global_function () {global $ global; echo $ global; } işlev my_nonglobal_function ($ global) {echo $ global; } my_global_function (); my_nonglobal_function ($ global); Function_something_else_global () {global $ ikinci_global; $ Second_global = “Global bir işlevin içinde kullanıldığı için küreselim.”; } make_something_else_global (); echo $ ikinci_global; Son bölümde söylediğimiz gibi, aslında PHP’de yaptığınız değişkenler için sadece iki ilgili kapsam vardır: küresel ve işlev. (Üçüncü bir kapsam türü var, ancak Superglobal hakkında $ _Get, $ _Post ve $ _Request gibi daha fazla bilgi edinmek istiyorsanız, ancak konu burada tartışılamayacak kadar büyük.)
Beyan: PHP’de, Global Değişken Olun Global bir değişken bildirmek için PHP’de olmak istiyorsanız, bunu bir işlevin dışında yapabilirsiniz.Bunun nedeni, bir işlevde olmayan (ve dolayısıyla işlev kapsamı olmayan) her PHP değişkesinin küresel olmasıdır.Değişken Değer $ Global, bildiren kod satırından sonra çalışmaya devam edecektir.Ve bir işlev dışında $ global ilan ettiğimiz için, otomatik olarak küresel bir duruma sahip olacaktır.Ancak WordPress için birçok PHP’de bir işlevde olacaksınız.Bunun nedeni, WordPress kancalarıyla çalışmanızdır.Değişkenleri bir işlevden her yerde (küresel olarak) kullanılabilir hale getirmek için önce bu değişkeni küresel olarak bildirmeniz gerektiği anlamına gelir.Sonra bu değişkeni istediğiniz şeye ayarlayabilirsiniz.Yukarıdaki kodda Make_something_else_Global’ın işlevinde yaptığımız şey budur.
PHP’de Global Değişkeni Nasıl Ayarlanır: Öncelikle, konumla (herhangi bir işlevin dışında) veya Global Anahtar Kelimeleri kullanarak Global olarak bir değişkene sahip olacağınızdan emin olun.Sonra sadece ayarladınız veya tekrar ayarladınız.100 kez bile.PHP umursamıyor.Global Değişkenler PHP, “İçe Aktar” PHP işlevlerinde Global Anahtar Kelimelerle, Global Değişkenlere (başka bir yerde bildirilen) iki şekilde erişilebilir.İlk olarak (ve en yaygın olanı), Global Anahtar Kelimeleri kullanarak erişin.Bu ilk olarak adlandırılan, my_global_function.Global bir değişken $ Global istediğini belirterek, “ekrana atmak” için yalnızca bir PHP kelime dağarcığı olan Echo, örneğin ilk satırında bildirdiğimiz dizeyi görüntüleyebilir.Global çizgiyi geçersek, – ayarlara bağlı olarak – PHP hatalarını göreceğiz ya da ekranda hiç kimse göreceğiz.İstediğimiz şey değil.

Bu kod, daha önce my_nonglobal_function’da bildirilen $ global değişkeni kullanabilmemiz için başka bir yol gösterir. Bunu yapmak için, $ global bir parametre olarak işlev olarak devam edebiliriz. Bu, hangi değişkenleri gerçekten işlev gördüğümüz konusunda biraz daha güvenmemize izin verir, çünkü bu bir elden çıkar. Ve bu, değişkenleri “içe aktarmayı” durdurmadan doğrudan Echo $ Global’a atlamamızı sağlar. Bu, birçok küresel PHP’nin kullanılmasını önlemenin bir yoludur. Gördüğünüz gibi, bu iki işlev aynı şeyi yapar. Her iki yöntemin çeşitli PHP projelerinde çeşitli yerlerde gerçekleştiğini göreceksiniz. İşlevimizin $ Global’e erişebilmeden önce işlevin kolayca herhangi bir şekilde değiştirilebileceği ve bu konuda yanlış varsayımlar yapacağımız ve hatalara neden olma olasılığı nedeniyle küresel kullanım artık PHP topluluğunda sevilmiyor. WordPress’in yanı sıra uyumluluğu geri çekme konusunda endişelenmeyen projelerde tercih edildiğinde işlevlerle ilgili sürekli değişkenler yöntemi.
Global Array PHP: Değişken Biriyle Aynı Son Not: PHP’deki değişkenlere (Global) neredeyse her şeyi ayarlayabilirsiniz. Hem dizeler, nesneler veya diziler, PHP’de küresel dizi yapmak için yapmanız gereken tek şey yukarıda tarif ettiğimiz adımları izlemektir. Özellikle: Global $ dizisini bildirin, bu yalnızca küresel bir PHP dizisi yapmak için gereken şeydir. Ve “Global daha iyi yapıyorum” diye düşünürken, sadece “bir” küresel diziniz var, size uyarı ilkeleri açısından, bağımsız olarak değişen her şeyin özgür küresel değişkeni düşünmesi gerektiğini hatırlatacağım. Dizinin her öğesi küresel bir değişkendir. Her şeyi etiketli bir diziye koymuş olsanız bile, diyelim ki, $ global_array_of_variables. WordPress Global Post ($ Post): Yukarıda söylediğim gibi WordPress’teki değişkenlerin kapsamı, WordPress Global PHP değişkenine çok bağlıdır. (İşte tüm Global’in bir listesi.) Bu nedenle, şöyle çizgilerle başlayan işlevleri görmeniz çok yaygındır: Global $ Post; Umarım şimdi ne yaptıkları hakkında oldukça iyi bir fikriniz var: tüm $ Post Global Değişkenleri İçe Aktarma-Hangi Şablon Etiketlerinin the_title () (veya kendiniz yaptığınız şey) gibi işlev görüyor, böylece üzerinde hareket edebilmeniz için yerel kapsama güveniyor üzerinde. Bu, insanların küresel beyan etme veya işlevlerinin üstüne satır ekleme ihtiyacını unuttuğunu göreceğiniz çok yaygındır. (Genellikle gereksiz çünkü programcı, Global Scope’tan “ithal ettikten” hemen sonra $ Post’ta hiçbir şeye erişmez.)
Bir başka ana örnek, WordPress’te kullanıldığı Global Scope’un kullanıldığı The_ID () ve The_Concent () gibi şablon etiketlerine sahip döngüye ek olarak efsanenin döngüsüdür.Özel bir WP_Query yazdıysanız, şüphelenmiş olabilirsiniz, ancak hiyerarşi dosya şablonunuzdaki HAV_POSTS () ve The_Post () gibi nesneler olmadan yöntemleri kullanma şekliniz, çadırınızın altında Global WP_Query’de aynı yöntemi çağırmasıdır. WordPress sizin için hazırlanmış örnek.(Yeni başlayanlara bunu sadece bir “Magic Post çantası” olarak görmelerini seviyorum, ancak uzmanların çadırları altında bunun sadece WP_Query nesnesi olduğunu anlıyor.)

admin

Bir Cevap Yazın

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