Heredoc

Dobrý večer.

Chápu správně, že za <<< mohu použít libovolný název, který není vypsán nikde v daném textu?

Někde jsem viděl například <<<EOT ... text EOT;, někde <<<DEMO ...text DEMO;

Takže mohu použít třeba

<<<NECO_MNOU_VYMYSLENEHO
... text
NECO_MNOU_VYMYSLENEHO;

?
Děkuji za každou odpověď.
Pochopil jsi to správně. Nemělo by to asi obsahovat diakritiku a interpunkci. Řetězec NECO_MNOU_VYMYSLENEHO je OK, ale obvykle se používá obligátní EOT (end-of-text), protože asi těžko takové slovo budeš psát osamoceně na řádku.

Příjemným bonusem je, že názvy proměnných začínající znakem $ se normálně rozbalí, ale uvozovky a apostrofy jsou zachovány. Stačí tedy naplnit proměnné a potom pomocí jednoho heredoc vysázet třeba celou stránku naráz.

Na heredoc jsem narazil teprve nedávno a hned se stal mým favoritem. Při vhodném použití se úžasně zjednoduší generování výstupu.
Mozna bys priste mohl proste dat odkaz a rici, ze se jedna o jiny zapis string. Vypada to docela sympaticky. Az na to, ze ja pouzivam spis sablonovaci system pres str_replace, kdy si muzu sablonu ulozit mimo php kod. Jestli to chapu spravne, tak to $name tam dosadi ihned.
http://www.phpf1.com/tutorial/php-heredoc-syntax.html
Jenže Magnus ten odkaz už dostal a ptal se jen na drobnost, která na první pohled nebyla patrná.

Pokud chceš mít šablonu mimo kód PHP, tak se dá s výhodou využít funkce parse_ini_file(), která umí rozbalovat konstanty. Pokud však je šablona rozumným způsobem oddělena od kódu, je často výhodné ji nechat přímo v PHP. Záleží na přehlednosti, důsledné oddělování za každých okolností může snížit srozumitelnost aplikace.

Další velmi zajímavou možností je ukládání šablon do databáze, ale na WZ bych raději použil cokoliv jiného, než věčně přetíženou databázi MySQL. Nabízí se např. CDB, která je pro tento účel velmi vhodná a místo str_replace() použít raději printf(). Ovšem do tisícovky položek s přehledem vyhoví INIFILE, zejména při využití na chybové hlášky.
Jo, pardon, to melo byt v tom druhem tematu, kde ses o tom zminil.
http://www.webzdarma.cz/forum/read.php?f=2&i=45295&t=45295