問題描述

來自一個問答線,我遇到了一些舊的東西,但我害怕,我發現自己處於一種情況,我仍然不知道他們的意思,不知道為什麼要使用它們。

  • %1$s – (發現加載小工具 ID)

  • %2$s – (發現加載小工具類/類)

  • %s – (發現 here)

以下事情如何運作?我的意思是 code-format 的解釋是什麼?

  • !Website::getThemeOption("format_post/{$post_format}/content/hide")): – (發現 here)

  • if( !wp_verify_nonce( $_POST['my_noncename'] ) plugin_basename( __FILE__ ) ) return; – (發現 here)

這個問題可以繼續下去,我知道。但是這些東西在任何地方都沒有明確的解釋。我不只是想要自己的意思和目的,而是想要一些內心/核心的解釋,以便我能夠理解他們的動機和它們的運作方式。

而且,如果食典中已經明確界定了這些事情,我很樂意閲讀。如果這樣的列表已經整理出來,並希望有一個這樣好奇的東西的列表。

最佳解決方案

這真的是一個普通的 PHP 編程問題,可能因此而關閉。但在此之前,讓我們看看我是否不能清楚這些。

那些以%符號開頭的字符串在“printf format” 中。例如,%2$s 轉換為 「將此令牌替換為第二個參數,並將其視為字符串」 。

當您在一個字符串中看到一個變量 (如"Today is {$day}") 時,就像將"Today is $day"那樣沒有花括號的變量放在一起。但是格式化這樣的變量使它脱穎而出,所以更清楚的是有一個變量。它還可以防止變量名旁邊的其他字符被解釋為名稱的一部分。沒有大括號,PHP 會知道如何使用"Your robot name would be {$firstName}Number5"?它會看到"$firstNameNumber5",並查找名為 $ firstNameNumber5 的變量,而不是簡單的 $ firstName 。

在最後一個例子中,我不知道你在問什麼。 __FILE__是不是很困惑?這是一個 PHP Magic Constant,被替換為代碼位置的文件的完整路徑。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。