Přihlásit se

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
Proměnné PHP od Ernst
Joomla Expert
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?

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)

22. srp 2015 23:10 #123135
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.

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

Powered by Fórum