XML deklarace a PHP

20. prosinec (čtvrtek)

RSS komentářů

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


,

Taky tu vyrostlo


  • 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, […]

     
    • #7

    Použijte Texy! formátování!