Re:PHP 8: Before and After
by tannhaeuser on Friday October 23, 2020 @10:41AM
(#24869967)
Good points, some of which can be addressed:
Re: conditionals SGML allows marked sections to have parameter entities as keywords, and recognizes INCLUDE/IGNORE in their expansions:
<!entity % e "include">
...
<![ %e [
will only be included if
e expands to INCLUDE
]]>
Re: mixed user/system text
SGML supports quite restrictive content model exclusions, eg the "-(script)" part below makes SGML reject script elements in main's content anywhere: <!element main - - ANY
-(script)>
Moreover, you can declare an entity as a so-called data text entity, special chars in which are preservedRe: running legacy parts There's no difference to what PHP does now eg just running through the page/template doc until the end, erring out on validation errors?
Plus, what makes you expect this opt-in syntax would catch on if people already don't care enough to use HTML-aware template engines?
EDIT: Also, what happens if the static parts of the document aren't syntactically correct SGML? How can you even know if the final output will be syntactically correct SGML until you run all the legacy parts of the PHP code that output directly in the document stream?