short_open_tag a xml v šabloně

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
_Martin_
Generous Backer | 679
+
0
-

Mám následující šablonu:

{contentType text/xml}
<?xml version="1.0" encoding="utf-8"?>

Pokud mám povolenou direktivu short_open_tag, vygeneruje se následující kód:

\Nette\Environment::getHttpResponse()->setHeader("Content-Type", "text/xml") ;xml version="1.0" encoding="utf-8"?>

který bohužel způsobí Parse error.

Bylo by to „něco proti něčemu“, kdyby Nette vyžadovalo tuto direktivu vypnutou?

P.S. S touto chybou jsem se setkal po nasazení na ostrý web a nejprve jsem byl trochu zmatený, proč to generuje takovou divnou šablonu.

Ondřej Brejla
Člen | 746
+
0
-

short_open_tag má s klasickou xml hlavičkou problém snad vždy pokud vím? Proto sot vždy zakazuji v .htaccess a žádný problém se neobjevuje :-)

redhead
Člen | 1313
+
0
-

když to nejde jinak, tak většinou dělám takovýhle malý hack:

{!='<?xml version="1.0" encoding="utf-8"?>'}

Sice nehezké, ale na jednom řádku šablony mi to je jedno

Honza Marek
Člen | 1664
+
0
-

_Martin_ napsal(a):
Bylo by to „něco proti něčemu“, kdyby Nette vyžadovalo tuto direktivu vypnutou?

To je nesmysl. Jednak to vůbec nesouvisí s frameworkem, druhak by takovým požadavkem prošlo 0,01% hostingů.

_Martin_
Generous Backer | 679
+
0
-

Honza Marek napsal(a):

_Martin_ napsal(a):
Bylo by to „něco proti něčemu“, kdyby Nette vyžadovalo tuto direktivu vypnutou?

To je nesmysl. Jednak to vůbec nesouvisí s frameworkem, druhak by takovým požadavkem prošlo 0,01% hostingů.

Nebo kdyby na ní aspoň upozornilo, že může způsobit problémy – jako upozorňuje na jiné věci.

Možná to nesouvisí přímo s FW, ale zkus se na to podívat pohledem uživatele, který vyvíjí web v Nette, pak jej nahraje na server a web nejede – hlásí mu parse error v šabloně. Zkusíš Requirements Checker a podle něj je vše OK. Pak z toho budeš dost zmatený.

redhead
Člen | 1313
+
0
-

Pokud něco hlásí Parse Error, tak se podívám do cache šablony, a nerozjíždím requirement checker…

_Martin_
Generous Backer | 679
+
0
-

redhead napsal(a):

Pokud něco hlásí Parse Error, tak se podívám do cache šablony, a nerozjíždím requirement checker…

No normálně jo – ale když to běží na třech vývojových PC dobře, pak se udělá deploy na ostrý server a objeví se parse error ve frameworkem generované šabloně, tak první myšlenka je: na tom serveru je něco blbě, s čím si Nette neumí poradit – zapnutí Requirements Checkeru je jen dalším logickým krokem. A je jedno, že se nakonec zjistí, že nešlo o chybu v Nette.

nAS
Člen | 277
+
0
-

Já bych k Requirements Checkeru přidal .htaccess, kde by byly nastaveny všechny možné direktivy (Magic quotes, Register globals, Short open tag) a potom bych dal na short_open_tag do Requirements Checkeru warning.

David Grudl
Nette Core | 8228
+
0
-

opraveno v posledni revizi v sablonach