Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: PiF 24. 10. 2011, 13:36:09
-
Ahoj,
mám v PHP tohle:
$gjurl=Core::app()->getInstance($Instance)->getUrl(Core_Mode::URL_TYPE_LINK)->gjurl();
A rád bych věděl, jestli to znamená to, co si myslím.
Jestli to chápu správně, tak bych to mohl rozepsat:
$StatickaMetodaJadra=Core::app();
$OdkazNaInstanci=$StatickaMetodaJadra->getInstance($Instance); //volam funkci
$ObjektzVystupuFunkceURL=$OdkazNaInstanci->getUrl(Core_Mode::URL_TYPE); //volam funkci a parametr je konstanta
$gjurl=$ObjektzVystupuFunkceURL->gjurl();
Díky.
-
obecne bys to takhle mohl rozlozit :)
oprav si ale - Core_Mode::URL_TYPE na Core_Mode::URL_TYPE_LINK
a jinak je zbytecne vytvaret dalsi promenne, kdyz s nima nebudes pracovat... a hlavne nechapu, proc se na to ptas :) vyzkouseni je otazka pul minuty a nemusis cekat pul dne :)
-
Ahoj,
já to samozřejmě vyzkoušel a fungovalo to.
Rozložit jsem to chtěl, jen abych se ujistil, že tomu volání správně rozumím.
Tj. že každé -> volání je volání nějaké funkce objektu, který získám v předchozím výrazu.
Děkuju ti!
-
ano, rozlozeni jsi pochopil spravne... nejdriv zavolas konstrukter objektu a pote volas dalsi metody daneho objektu (vytvaris jako podobjekty - nemuzes treba volat getUrl z objektu Core, aniz bys zavolal instanci toho objektu)
-
Tak "konstrukter" asi ne, doufám, že je to jen překlep ;-) . Jinak volá se getInstance, což NENÍ konstruktor (!). Core:app je pravděpodobně singleton a getInstance vrátí jednu jedinou instanci toho objektu. Pouze pokud taková neexistuje, pak ji vnitřně vytvoří (pomocí konstruktoru).
-
eMko - ano, getInstance je metoda, Core::app by mel volat konstruktor co vim (objektove programuju v jave a ne v phpcku...)
-
eMko: aha, tak metoda, ne konstruktor, moje chyba :)
-
No, zrovna návrhový vzor singleton se používá i v Javě (a z tohoto vzoru je známo to getInstance) ;-) .
-
eMko: ano, sigleton znam, ale jenom v jave, v php jsem ho nikdy nepouzival a napr s nette nepracuju, tak me to zmatlo
aspon jsem zase o neco chytrejsi :)