% S,% 1 $ s vs.'nin anlamı nedir? [kapalı]


14

Bir Soru-Cevap İpliğinden bazı eski şeylerle tanışmaya geldim, ama korkuyorum, kendimi hala anlamlarını bilmiyorum ve neden kullanacağımı bilmiyorum.

  • %1$s - (widget kimliği yüklendi bulundu)
  • %2$s - (widget sınıfını / sınıflarını yükledi)
  • %s- ( burada bulundu )

Ve aşağıdaki şeyler nasıl çalışır? Kod formatının açıklaması nedir yani?

  • !Website::getThemeOption("format_post/{$post_format}/content/hide")):- ( burada bulundu )
  • if( !wp_verify_nonce( $_POST['my_noncename'] ) plugin_basename( __FILE__ ) ) return;- ( burada bulundu )

Bu soru devam edebilir ..., biliyorum. Ancak bu gibi şeyler hiçbir yerde net bir şekilde açıklanmaz. Ben sadece anlamlarını ve amaçlarını istemiyorum, aynı zamanda nedenlerini ve nasıl çalıştıklarını anlayabilmem için içsel / çekirdeksel bir açıklama istiyorum.

Ve ayrıca, eğer böyle şeyler Codex'ta zaten açıkça tanımlanmışsa, bunları okumak isterim. Ve böyle bir liste zaten düzenlenmişse, bu tür meraklı şeylerin bir listesine sahip olmak isterdim .


3
Bu tamamen düz PHP. Bkz sprintf().
fuxia

Kodeks, WordPress'e özel belgeler sağlamak için vardır. PHP programlamayı öğretmek için tasarlanmamıştır ve tüm sorularınız PHP programlaması ile ilgilidir. PHP belgeleri php.net adresinde bulunabilir ve birçok PHP başlangıç ​​öğreticisi Google kullanılarak bulunabilir.
Ben Miller - Monica'yı hatırla

2
@BenMiller: Lütfen sabırlı olun. Toscho'nun yorumundan önce, sorunun pozisyonundan bile habersizim. Dave'in cevabı ile neredeyse açık.
Mayeenul Islam

@MayeenulIslam, Kodeks'te neden böyle açıklamalar bulamadığınızı açıklamaya çalışıyordum. Sabırsızlıkla karşılaşırsam özür dilerim.
Ben Miller - Monica'yı hatırla

Yanıtlar:


11

Bu gerçekten genel bir PHP programlama sorusudur ve bu nedenle kapanabilir. Ama bu gerçekleşmeden önce, bunlardan bazılarını sizin için temizleyemiyorum.

% İşaretleriyle başlayan dizeler "printf" biçimindedir . Örneğin, %2$s"bu jetonu ikinci parametreyle değiştir ve bir dize gibi davran" ifadesine çevirir.

Bir dizginin içindeki kıvırcık parantez içinde bir değişkeni gördüğünüzde "Today is {$day}", bu, değişkeni kıvırcık parantez olmadan buraya koymakla aynıdır "Today is $day". Ancak değişkeni bu şekilde biçimlendirmek onu öne çıkarır, bu yüzden orada bir değişken olduğu daha açıktır. Ayrıca, değişken adının yanındaki diğer karakterlerin adın bir parçası olarak yorumlanmasını da engeller. Kıvırcık parantez olmadan PHP ne yapacağını biliyor "Your robot name would be {$firstName}Number5"muydu? Sadece "$firstNameNumber5"$ firstName yerine $ firstNameNumber5 adlı bir değişkeni görür ve arar.

Son örnekte ne istediğini bilmiyorum. O mi __FILE__sen tam olarak anlayamadık? Bu , kodun bulunduğu dosyanın tam yolu ile değiştirilen bir PHP Magic Constant .


Sadece geçen basit bir kapalı alıyorum önce: !Website::. Neden çift kolon var?
Mayeenul Islam

2
::İle ilgisi var nesne yönelimli programlama durumunda - Website::getThemeOption, sen işlevini aradığınız getThemeOptionsınıfına ait Website.
Pat J

2
Ayrıca: {$var}PHP'nin örneğin {$complete_variable_name}ve gibi bir şeyi ayırt etmesine yardımcı olur {$prefix}_rest_of_name.
Pat J

FIY çift sütunu, bir sınıfın yalnızca statik veya geçersiz kılınmış yöntemlerine ve özelliklerine erişmek için kullanılır; düzenli yöntemlerle -> örn. $ MyObject-> someMethod ();
ed-ta
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.