XML deklarace a PHP
Zase trochu o webdesignu. Připravte se na vzrušující objevování Ameriky, kola a podobných užitečných věcí. Čtenářky, které se nezabývají tvorbou webu, zřejmě zklamu, ale tak už to v životě chodí. Bavte se zatím třeba tímhle.
XML deklarace
Pokud se člověk už definitivně nevzbouřil, neodklonil od XHTML a stále ho baví psát striktně nevalidní jakožeXML dokumenty (více o těchto kravinách čtěte u Dera nebo Martina Hassmana), jistě do nich také rád vkládá XML deklaraci. Je to první řádek v kódu, jenž hřímá „já jsem XML!“ a pokud stránka používá UTF-8, není povinný. Zakládám si na používání UTF-8, ale stejně jako mne náramně vzrušuje používat XHTML, svědomí mi nedovolí XML deklaraci prostě vynechat. Holt zažité superstriktní pudy z dob evangelizace webu.
PHP
Bo su mimo jiné i PHP programátor, musel jsem po čase pokojného deklarování XML řešit jistý nedostatek symbiózy mezi jazykem a právě oním prvním řádkem dokumentu.
Zápis
<?xml version="1.0" encoding="utf-8" ?>
prostě není úplně ono, protože ty špičaté závorky a otazníčky PHP bere na sebe a server vám vrátí něco podivného, asi parse error.
Řešení
Řešení je zřejmé…
<?php echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n"; ?>
Nebo třeba
<?php echo '<?xml version="1.0" encoding="utf-8" ?>' . "\n"; ?>
Jak je ale vidět, zřejmá řešení problémů nejsou ani hezká, ani elegantní. Předkládám proto jedno ne zcela zřejmé, ale geniální řešení, které je hezké, elegantní a navíc rychlé – nepotřebuje prakticky žádný výkon PHP.
<<?php ?>?xml version="1.0" encoding="utf-8" ?>
A je to! Že se tu zabývám blbostmi? No jistě že ano! Ale proč netrávit čas psaním a čtením článků o roztomilých maličkostech ;) . A že to šlo napsat v jedné větě? Ale no tak… Jako byste mě neznali! :D
Gringo 20. 12. 2007 v 16:07
Jéé, reklama na komixy! Díky dobrá vílo!
Maple 20. 12. 2007 v 16:26
No to je fakt kravina :-)
Výkon to samozřejmě bere, bo musí ten tag naparsovat a pochopit a že nic nedělá, to zjistí až potom. Bude to méně výkonu než u výpisu pomocí echo, na druhou stranu bych se skoro hádal, která z těchhle variant je přehlednější. Řekl bych, že vě většině web aplikací se najde 1001 místo, které si zaslouží větší pozornost ať už co do elegantního vyřešení a nebo třeba výkonu.
Připomnělo mi to takové ty hádanky: „přehoďťe obsah dvou celočíselných prměnných bez použití třetí“. Jednak to nelze použít vždy a po pravdě – kdybych to našel někde v kódu, tak bych autora asi přetrhl jak žížalu :-)
Littlemaple 20. 12. 2007 v 20:37
Je to tak. Jako jiní géniové, za života holt zůstanu nedoceněn :D .
Cr 22. 12. 2007 v 14:40
Neposlouchej je, je to dobré, dík. Začnu to používat (i ve firmě, xoxo).
markoph 24. 1. 2008 v 22:50
hmmm… zaujímavé… uvidím, možno budem používať :P
Javorové lístky » Archív » Jak uchránit textový soubor na serveru 3. 2. 2008 v 12:53
[…] pokud použijete XML deklaraci, přijde vám na pomoc také parse error. Nelze se však na něj spoléhat a určitě je dobré vše pojistit oním PHP v komentáři, […]