Em um tópico de perguntas e respostas, encontrei algumas coisas antigas, mas receio que me encontrei em uma condição que, ainda não sei o significado delas e não sei por que usá-las.
%1$s
- (encontrado para carregar o ID do widget)%2$s
- (encontrado para carregar classes / classes de widgets)%s
- (encontrado aqui )
E como as seguintes coisas funcionam? Quero dizer, qual é a explicação do formato de código?
!Website::getThemeOption("format_post/{$post_format}/content/hide")):
- (encontrado aqui )if( !wp_verify_nonce( $_POST['my_noncename'] ) plugin_basename( __FILE__ ) ) return;
- (encontrado aqui )
Esta pergunta pode continuar ... Eu sei. Mas coisas como essas não são explicadas claramente em lugar algum. Eu não quero apenas o significado e os propósitos deles, mas quero uma explicação interna / central para que eu possa entender seus motivos e como eles funcionam.
E também, se essas coisas já estiverem claramente definidas no Codex, eu adoraria lê-las. E adoraria ter uma lista de coisas tão curiosas se essa lista já estiver resolvida.
sprintf()
.Respostas:
Esta é realmente uma questão geral de programação PHP e pode ser fechada por esse motivo. Mas antes que isso aconteça, vamos ver se não consigo esclarecer um pouco disso.
As cadeias que começam com sinais de% estão no "formato printf" . Por exemplo,
%2$s
traduz para "substitua esse token pelo segundo parâmetro e trate-o como uma string".Quando você vê uma variável entre chaves dentro de uma string,
"Today is {$day}"
é como colocar a variável lá sem chaves, como"Today is $day"
. Mas formatar a variável assim faz com que ela se destaque, por isso é mais claro que existe uma variável lá. Também impede que outros caracteres próximos ao nome da variável sejam interpretados como parte do nome. Sem chaves, o PHP saberia o que fazer"Your robot name would be {$firstName}Number5"
? Ele veria"$firstNameNumber5"
e procuraria uma variável chamada $ firstNameNumber5 em vez de simplesmente $ firstName.Não tenho certeza do que você está perguntando no último exemplo. É por isso que
__FILE__
você está confuso? Essa é uma constante mágica do PHP que é substituída pelo caminho completo para o arquivo em que parte do código está.fonte
!Website::
. Por que o cólon duplo lá?::
tem a ver com programação orientada a objetos - no caso deWebsite::getThemeOption
, você está chamando a funçãogetThemeOption
pertencente à classeWebsite
.{$var}
ajuda o PHP a distinguir entre algo como{$complete_variable_name}
e{$prefix}_rest_of_name
, por exemplo.