Joomla 5.1.0 a Joomla 4.4.4 (17 dub 2024)
Dnes byla uvolněna nová verze Joomla 5.1.0, společně s Joomla 4.4.4. Tato verze přináší spoustu nových funkcí, vylepšení v oblasti bezpečnosti a kódu a díky těmto vylepšením i vyšší rychlost.
Vyřešeno Proměnné PHP
21. srp 2015 19:27 #123127
Už mi to opravdu nemyslí, ale jak mám udělat proměnnou, kterou naplním v jedné funkci a v druhé funkci ji přečtu.
Například:
v první funkci:
$sort_by = $order ;
var_dump ($sort_by) dá výsledek "rating"
V jiné funkci var_dump ($sort_by) dá výsledek null
kde dělám chybu?
Například:
v první funkci:
$sort_by = $order ;
var_dump ($sort_by) dá výsledek "rating"
V jiné funkci var_dump ($sort_by) dá výsledek null
kde dělám chybu?
21. srp 2015 21:10 #123128
Odpověď od Ernst
Joomla Expert
už jsem to vyřešil definicí proměnné jako global
22. srp 2015 01:13 #123129
Odpověď od Cony
Moderátor
Což je asi ten nejnešťastnější způsob. Pokud jsou funkce metodami nějaké třídy, použijte proměnou té třídy, tedy např. $this->sort_by
22. srp 2015 16:31 #123131
Odpověď od Ernst
Joomla Expert
To chápu, ale lepší řešení jsem nevymyslel.
Dávám si pozor na název proměnný (dlouhá a česky)
Potřebuji v jedné funkci promennou $hodnota_cesky_1111=.f.
přečíst v jiné funkci.
takže proměnnou třídy asi nemohu použít (jsou v jiných třídách)
Dávám si pozor na název proměnný (dlouhá a česky)
Potřebuji v jedné funkci promennou $hodnota_cesky_1111=.f.
přečíst v jiné funkci.
takže proměnnou třídy asi nemohu použít (jsou v jiných třídách)
22. srp 2015 23:10 #123135
Phoca Cart - www.phoca.cz/phocacart - e-shop, e-commerce
Phoca Gallery - www.phoca.cz/phocagallery - obrázková galerie
Phoca Download - www.phoca.cz/phocadownload - stahování souborů
Phoca Guestbook - www.phoca.cz/phocaguestbook - guestbook
Odpověď od H13
Admin
Pak bych si vzal příklad z Joomly! a udělal to např. pomocí singletonů.
např: JFactory::getDBO();
vždy, v jakýkoliv funkci dostaneš informace o spojení s databází (nevytváří se neustále znovu, pokud je jednou vytvořené, použije se to již vytvořené). A může tuto funkci volat v jakékoliv třídě, v jakékoliv funkci.
je to vlastně náhrada za global, s tím, že je v tom větší pořádek, protože vždy voláš třídu a metodu, takže přesně víš, kde jsou instrukce té metody uloženy. Zatímco u globálních proměnných můžeš po určité době mít problém s orientací - kde byla proměnná vytvořena, uložena, atd.
např: JFactory::getDBO();
vždy, v jakýkoliv funkci dostaneš informace o spojení s databází (nevytváří se neustále znovu, pokud je jednou vytvořené, použije se to již vytvořené). A může tuto funkci volat v jakékoliv třídě, v jakékoliv funkci.
je to vlastně náhrada za global, s tím, že je v tom větší pořádek, protože vždy voláš třídu a metodu, takže přesně víš, kde jsou instrukce té metody uloženy. Zatímco u globálních proměnných můžeš po určité době mít problém s orientací - kde byla proměnná vytvořena, uložena, atd.
Phoca Cart - www.phoca.cz/phocacart - e-shop, e-commerce
Phoca Gallery - www.phoca.cz/phocagallery - obrázková galerie
Phoca Download - www.phoca.cz/phocadownload - stahování souborů
Phoca Guestbook - www.phoca.cz/phocaguestbook - guestbook
23. srp 2015 09:23 - 23. srp 2015 09:24 #123137
Odpověď od Ernst
Joomla Expert
tak jsem to vyzkoušel, zrušil jsem proměnné global a v požadované funkci jsem dal:
$sort_by_moje = $this->filterOrder[$order]
a to nefunguje, proměnná se nemění
původně funkční bylo, že tato proměnná je globální a v jiné funkci mám:
$sort_by_moje= $this->filterOrder[$order];
a to funguje, proměnná se mění dle toho, jak je to setřízeno
Potřebuji si někde přečíst, dle čeho je setříděno a pak to pomocí IF rozvětvit
$sort_by_moje = $this->filterOrder[$order]
a to nefunguje, proměnná se nemění
původně funkční bylo, že tato proměnná je globální a v jiné funkci mám:
$sort_by_moje= $this->filterOrder[$order];
a to funguje, proměnná se mění dle toho, jak je to setřízeno
Potřebuji si někde přečíst, dle čeho je setříděno a pak to pomocí IF rozvětvit