De un hilo de preguntas y respuestas, me encontré con algunas cosas viejas, pero me temo que me encontré en una condición que todavía no sé el significado de ellas y no sé por qué usarlas.
%1$s
- (encontrado para cargar la identificación del widget)%2$s
- (encontrado para cargar la clase / clases de widgets)%s
- (encontrado aquí )
¿Y cómo funcionan las siguientes cosas? Quiero decir, ¿cuál es la explicación del formato de código?
!Website::getThemeOption("format_post/{$post_format}/content/hide")):
- (encontrado aquí )if( !wp_verify_nonce( $_POST['my_noncename'] ) plugin_basename( __FILE__ ) ) return;
- (encontrado aquí )
Esta pregunta puede seguir y seguir ... Lo sé. Pero cosas como estas no se explican claramente en ninguna parte. Yo, no solo quiero su significado y propósitos, sino que quiero alguna explicación interna / central para que pueda entender sus motivos y cómo funcionan.
Y también, si tales cosas ya están claramente definidas en el Codex, me encantaría leerlas. Y me encantaría tener una lista de cosas tan curiosas si dicha lista ya está ordenada.
sprintf()
.Respuestas:
Esta es realmente más una pregunta general de programación PHP y podría cerrarse por esa razón. Pero antes de que eso suceda, veamos si no puedo aclarar algo de esto.
Las cadenas que comienzan con signos% están en "formato printf" . Por ejemplo, se
%2$s
traduce como "reemplazar este token con el segundo parámetro y tratarlo como una cadena".Cuando ves una variable entre llaves dentro de una cadena, como
"Today is {$day}"
, es lo mismo que poner la variable allí sin llaves, como"Today is $day"
. Pero formatear la variable de esta manera hace que se destaque, por lo que está más claro que hay una variable allí. También evita que otros caracteres al lado del nombre de la variable se interpreten como parte del nombre. Sin llaves, ¿sabría PHP qué hacer"Your robot name would be {$firstName}Number5"
? Vería"$firstNameNumber5"
y buscaría una variable llamada $ firstNameNumber5 en lugar de simplemente $ firstName.No estoy seguro de lo que estás preguntando en el último ejemplo. ¿Es por lo
__FILE__
que estás confundido? Esa es una constante mágica de PHP que se reemplaza con la ruta completa al archivo en el que se encuentra el bit de código.fuente
!Website::
. ¿Por qué el doble colon allí?::
tiene que ver con la programación orientada a objetos - en el caso deWebsite::getThemeOption
, que está llamando a la funcióngetThemeOption
que pertenece a la claseWebsite
.{$var}
ayuda a distinguir entre PHP algo parecido{$complete_variable_name}
y{$prefix}_rest_of_name
, por ejemplo.