问题描述

来自一个问答线,我遇到了一些旧的东西,但我害怕,我发现自己处于一种情况,我仍然不知道他们的意思,不知道为什么要使用它们。

  • %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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。