Keyword ‚__‘ cannot be used in Latte

larryx
Člen | 6
+
0
-

Zdravim pani, po upgrade latte na (v3.0.4 ⇒ v3.0.5) a dostavam tuto chybu, na riadku:

{=__("Vážený zákazník")}

Pricom, __() je normalne definovana funkcia ale nove latte ju akosi neberie.

Je to zamer alebo bug ?

Dakujem za odpoved.

nightfish
Člen | 472
+
0
-

@larryx Jakým způsobem tuto funkci do Latte registruješ?

larryx
Člen | 6
+
0
-

nightfish napsal(a):

@larryx Jakým způsobem tuto funkci do Latte registruješ?

Ziadnym, globalna funkcia.

Len upresnim, ze toto konkretne je vyuzite latte mimo nette fw

edit: a exception, hovori o keyword, ze je zly, nie ze funkcia neexistuje / nemoze byt pouzita…

Editoval larryx (27. 1. 2023 14:41)

nightfish
Člen | 472
+
0
-

@larryx Pravda, to jsem přehlédl. Může za to tato kontrola – prakticky všechno, co začíná na dvě podtržítka, se bere jako keyword. Rozhodnutí jestli je to bug a stálo by z toho __ vyjmout, nebo je to feature, nechám na @DavidGrudl .

larryx
Člen | 6
+
0
-

nightfish napsal(a):

@larryx Pravda, to jsem přehlédl. Může za to tato kontrola – prakticky všechno, co začíná na dvě podtržítka, se bere jako keyword. Rozhodnutí jestli je to bug a stálo by z toho __ vyjmout, nebo je to feature, nechám na @DavidGrudl .

Nastastie to mam len v jednej e-mailovej sablone, cize fixnute to bolo hned. Len ma to trocha prekvapilo.

Marek Bartoš
Nette Blogger | 1167
+
+2
-

Nejspíš šlo o to jednoduše zakázat magické konstanty a metody, které všechny v PHP začínají na __. PHP nedoporučuje metody začínajícího na __ používat, jelikož je má rezervované pro vlastní užití. U globálních funkcí též __ nejspíš nebude ideální

David Grudl
Nette Core | 8125
+
+3
-

Opraveno.