Ach jo, kdybyste se přestali hádat, jste jak malí. Abysme si trošku ujasnili definice:
preprocessor is a program that processes its input data to produce output that is used as input to another program.
To znamená že LESS i SASS jsou preprocessory. HTML ale preprocessor není, protože jej prohlížeč naparsuje a přímo zobrazí, nepředává tyto naprasované data dál.
Dále, HTML rozhodně není script! Je to značkovací jazyk, ne scriptovací, proto také nemůže být script.
#1 Pavelv
Teď abych odpověděl na otázku. Rozhodně to nedělej!! Z hlediska správného postupu (na který se ty ptáš) by měl být oddělený výstup a logika aplikace. Abys mohl jedno nebo druhé vyměnit, aniž by se to dotklo zbytku programu. Ukážu ti to na příkladě. Představ si že máš různé HTML pro PC a mobil a máš nějakým způsobem možnost kontrolovat z čeho uživatel přišel. Jak bys to teď vyřešil? kdybys to měl provázané, musel bys u KAŽDÉHO výstupu dát další podmínky jestli je z mobilu nebo z PC a podle toho něco vypsat. A kdybys chtěl mít rozdíle rozložení? Tak se z toho po****. Proto se odděluje výstup od logiky. Těmi pár funkcemi se netrap, nevytváříš AAA hru, takže až tak přísnou optimalizaci řešit nemusíš (opět příklad, procesor 2,5GHz zvládne 2,5 miliard operací za sekundu, zavolání funkce je max 5 operací, o tom by ti víc řekl Matěj, takže zas až tak hrozné to není).
Vytvoříš si externí soubor, a potom dáš do PHP jenom include toho souboru. Tím se ti i sám vypíše. Proměnné, které máš definované na úrovni toho include ti zůstanou i v tom souboru, takže je můžeš používat.
Takže za mě ti říkám ať odděláš výstup od logiky aplikace, a pouze includuješ. Tak jak radil Matěj, ale rozhodně netvoř špagety kod :)
S pozdravem
Patrik Valkovič