Co oznaczają podwójne podkreślenia w tych liniach kodu PHP?Podwójny podkreślnik w PHP?
$WPLD_Trans['Yes']=__('Yes',$WPLD_Domain);
$WPLD_Trans['No']=__('No',$WPLD_Domain);
Co oznaczają podwójne podkreślenia w tych liniach kodu PHP?Podwójny podkreślnik w PHP?
$WPLD_Trans['Yes']=__('Yes',$WPLD_Domain);
$WPLD_Trans['No']=__('No',$WPLD_Domain);
Wygląda na to, że używasz Wordpress - wp-includes/l10n.php
definiuje __ jako funkcja, która przekłada ciąg (podobny do gettext
i jej alias, _
ale z opcjonalnym parametrem dla jednoznacznie określający domenę).
Ściśle mówiąc, w PHP nic nie znaczy, ponieważ nie jest predefiniowaną funkcją. Jednak w wielu frameworkach, takich jak CakePHP i innych bibliotekach, podwójne podkreślenie jest funkcją służącą do tłumaczenia łańcuchów na podstawie preferencji języka/ustawień użytkownika.
Brak pomysłu. Mylące jednak, wersja Cake_P __ zachowuje się zupełnie inaczej niż w WordPress (CakePHP, domyślnie, echo ciąg, chyba że drugi parametr jest fałszywy). Założę się, że * nigdy nikogo nie wywaliłeś ... – SimonJ
Jak wspomniano, jest to zwykle używane do tłumaczenia tekstu między językami, ale tak naprawdę jest używane w tym samym kontekście, co każde wywołanie funkcji.
testfunction();
nie różni się wtedy
__();
W rzeczywistości testfunction() jest bardzo różne, ponieważ ma przyzwoitą nazwę. __ jest całkowicie głupią rzeczą, aby nazwać funkcję. –
Implementacja podobne lub osób trzecich GNU gettext oparta:
http://www.php.net/manual/en/function.gettext.php
Uwaga: Można użyć znaku podkreślenia '_' jako alias do tej funkcji.
dokumenty WordPress to __() funkcja, część technologii lokalizacyjnej tutaj: https://make.wordpress.org/polyglots/handbook/translating/working-with-core/#localization-technology
trudno jest znaleźć dokumentację ponieważ __() __ ('') lub __ ("") nie jest bardzo łatwe do wyszukania, podwójne podkreślenia i nawiasy okrągłe (nawiasy okrągłe) są słowami kluczowymi do użycia.
Czy to tylko ja, czy jest to ohydne? –
To nie tylko ty. To jest ohydne. –
Ohydny, ale bardzo wygodny. Jako senuote, php.net mówi, że wszystkie funkcje zaczynające się od __ (podwójne podkreślenie) są zarezerwowane. Wygląda na to, że nie podoba im się to, że WordPress i inni kłusią na swoim terytorium magicznej metody. http://us.php.net/manual/en/language.oop5.magic.php – Lane