Quelle est la signification de% s,% 1 $ s etc.? [fermé]

9

À partir d'un fil de discussion où je suis venu rencontrer d'anciennes choses, mais j'ai peur, je me suis trouvé dans un état tel que, je ne connais toujours pas leur signification et je ne sais pas pourquoi les utiliser.

  • %1$s - (trouvé pour charger l'id du widget)
  • %2$s - (trouvé pour charger la classe / les classes du widget)
  • %s - (trouvé ici )

Et comment fonctionnent les choses suivantes? Je veux dire quelle est l'explication du format de code?

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

Cette question peut continuer encore et encore ..., je sais. Mais des choses comme celles-ci ne sont clairement expliquées nulle part. Je ne veux pas seulement leur signification et leurs buts, mais aussi des explications intérieures / fondamentales pour pouvoir comprendre leurs motivations et leur fonctionnement.

Et aussi, si de telles choses sont déjà clairement définies dans le Codex, j'aimerais bien les lire. Et nous aimerions avoir une liste de choses aussi curieuses si une telle liste est déjà triée.

    
posée Mayeenul Islam 27.09.2013 - 16:15

1 réponse

10

C’est vraiment une question de programmation PHP générale et pourrait être fermé pour cette raison. Mais avant que cela se produise, voyons si je ne peux pas vous en dire plus.

Les chaînes qui commencent par les signes% sont au format "format printf" . Par exemple, %2$s se traduit par "remplace ce jeton par le second paramètre et traite-le comme une chaîne".

Lorsque vous voyez une variable entre accolades dans une chaîne, comme "Today is {$day}" , vous pouvez y insérer la variable sans accolades, comme "Today is $day" . Mais la mise en forme de la variable comme celle-ci la distingue des autres, de sorte qu'il est plus clair qu'il y a une variable. Cela empêche également que d'autres caractères à côté du nom de la variable soient interprétés comme faisant partie du nom. Sans accolades, PHP saurait-il quoi faire avec "Your robot name would be {$firstName}Number5" ? Il verrait "$firstNameNumber5" et rechercherait une variable nommée $ firstNameNumber5 au lieu de simplement $ firstName.

Je ne suis pas sûr de ce que vous demandez dans le dernier exemple. Est-ce le __FILE__ par lequel vous êtes confus? Il s’agit d’un constante magique PHP qui est remplacé par le chemin d'accès complet au fichier correspondant à ce code. dans.

    
réponse donnée Dave Ross 27.09.2013 - 16:33

Lire d'autres questions sur les étiquettes