Nette\Web\Html – Object id #200
- piler
- Člen | 111
Ahojte,
na svojom localnom stroji a dalsich hostingoch funguje pouzite tejto html pomocky v pohode, ale narazil som na problem na dalsom hostingu. Miesto HTML tagov mi to vracia spat „Object id #200“ a podobne cisla. Skumanim so zistil, ze som nevolal metodu render() ale som to pretypoval na string pred vystupom. Len je zaujimave, ze na tych predoslych hostingoch to slape v pohode.
Akurat pozeram, ze na tom „problemovom“ hostingu je verzia PHP 5.1.6. Moze byt ten problem sposobeny verziou?
Dik
- David Grudl
- Nette Core | 8218
Je to verzí PHP. V PHP < 5.2 je potřeba objekt renderovat metodou
$el->render()
.
- piler
- Člen | 111
David Grudl napsal(a):
Je to verzí PHP. V PHP < 5.2 je potřeba objekt renderovat metodou
$el->render()
.
Dik moc. Zistil som, ze aj pathinfo() nevracia filename vo verzii nizsej ako 5.2, takze som poziadal o upgrade.
OT: vedel by si mi vysvetlit, resp. dal odkaz, lebo celkom dobre nerozumiem preco echo $el vypise HTML tag, ale print_r($el) vypise objekt? Dik
- romansklenar
- Člen | 655
Pokud na objektu Html zavoláš echo, provede se automatické přetypování
na řetězec metodou __toString()
, která volá metodu
render()
. Verze <5.2 právě myslím __toString()
nepodporují, tak se musí volat render()
.
echo $el; // stejné jako $el->render();
Editoval romansklenar (17. 11. 2008 12:37)