Aus einem Q & A-Thread bin ich auf ein paar alte Dinge gestoßen, aber ich fürchte, ich befand mich in einem Zustand, in dem ich die Bedeutung der Dinge immer noch nicht kenne und nicht weiß, warum ich sie verwenden soll.
%1$s
- (Widget-ID wurde geladen)%2$s
- (Widget Klasse / Klassen laden)%s
- ( hier gefunden )
Und wie funktionieren die folgenden Dinge? Ich meine, wie erklärt sich das Code-Format?
!Website::getThemeOption("format_post/{$post_format}/content/hide")):
- ( hier gefunden )if( !wp_verify_nonce( $_POST['my_noncename'] ) plugin_basename( __FILE__ ) ) return;
- ( hier gefunden )
Diese Frage kann weiter und weiter gehen ..., ich weiß. Aber solche Dinge werden nirgends klar erklärt. Ich möchte nicht nur ihre Bedeutung und ihren Zweck, sondern auch eine innere / grundlegende Erklärung, damit ich ihre Motive und ihre Funktionsweise verstehen kann.
Und wenn solche Dinge im Codex bereits klar definiert sind, würde ich sie gerne lesen. Und hätte gerne eine Liste mit solchen kuriosen Dingen, wenn eine solche Liste bereits aussortiert ist.
sprintf()
.Antworten:
Dies ist wirklich eher eine allgemeine PHP-Programmierfrage und könnte aus diesem Grund geschlossen werden. Aber bevor das passiert, wollen wir mal sehen, ob ich einiges davon nicht für Sie aufklären kann.
Diejenigen Zeichenfolgen, die mit% -Zeichen beginnen, sind im "printf-Format" .
%2$s
Dies bedeutet beispielsweise, dass dieses Token durch den zweiten Parameter ersetzt und wie eine Zeichenfolge behandelt wird.Wenn Sie eine Variable in geschweiften Klammern in einer Zeichenfolge sehen, entspricht dies
"Today is {$day}"
dem Platzieren der Variablen dort ohne geschweifte Klammern"Today is $day"
. Wenn Sie die Variable jedoch so formatieren, fällt sie auf, sodass klarer wird, dass es dort eine Variable gibt. Außerdem wird verhindert, dass andere Zeichen neben dem Variablennamen als Teil des Namens interpretiert werden. Wüsste PHP ohne geschweifte Klammern, was zu tun ist"Your robot name would be {$firstName}Number5"
? Es würde"$firstNameNumber5"
eine Variable mit dem Namen $ firstNameNumber5 anstelle von einfach $ firstName sehen und suchen.Ich bin nicht sicher, wonach Sie im letzten Beispiel fragen. Ist es das
__FILE__
, von dem du verwirrt bist? Das ist eine PHP Magic Constant , die durch den vollständigen Pfad zu der Datei ersetzt wird, in der sich das Code-Bit befindet.quelle
!Website::
. Warum dort der doppelte Doppelpunkt?::
hat mit objektorientierter Programmierung zu tun - im Fall vonWebsite::getThemeOption
rufen Sie diegetThemeOption
zur Klasse gehörende Funktion aufWebsite
.{$var}
Hilft PHP , beispielsweise zwischen etwas{$complete_variable_name}
und zu{$prefix}_rest_of_name
unterscheiden.