Autor Zpráva
stepanka
Profil *
Ahoj,

kolega používá v projektech v Zendu zápis <?=, který je ekvivalentní se zápisem <?php echo. Když si ale jeho projekt nahraju na localhost, tak to tento znak nerozpozná, prostě ho vypíše jako HTML text. Nevíte prosím, jestli se to dá někde, třeba v php.ini, nastavit?

Moc děkuju.
Radek9
Profil
stepanka:
Je to short_open_tag. Nedoporučuji to ale používat, pokud nemáte jistotu, že to bude všude, kam projekt dáváte, hosting podporovat.
stepanka
Profil *
Radek9:
Aha, ten tag znám, ale myslela jsem, že slouží pouze k zápisům <? vs. <?php. Ale funguje to, když ho zapnu, tak jede správně i <?=.
Tak moc děkuju!
Ugo
Profil
Radek9:
já bych se toho až tak nebál
v php 5.4 je s ním počítáno defaultně, takže budoucnost má
můžeš zkusit nastavit přes ini_set()
a třeba CodeIgniter na to má toto:
if ((bool) @ini_get('short_open_tag') === FALSE AND config_item('rewrite_short_tags') == TRUE)
        {
            echo eval('?>'.preg_replace("/;*\s*\?>/", "; ?>", str_replace('<?=', '<?php echo ', file_get_contents($_ci_path))));
        }
případně program na hromadné nahrazení (nebo to projít phpkem) a nahradit je otázka pár vteřin :)
koudi
Profil
I v Zendu jde povolit nahrazovaní při zpracování.
$view->setUseStreamWrapper(true);

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: