rfc:remove_alternative_php_tags

This is an old revision of the document!


PHP RFC: Remove alternative PHP tags

Proposal

This RFC proposes the removal of ASP tags (<%) and script tags <script language=php>) as a means of entering or leaving PHP mode.

The following syntactical elements are removed:

  • <% opening tag
  • <%= short opening tag
  • %> closing tag
  • (<script\s+language\s*=\s*(php|"php"|'php')\s*>)i opening tag
  • (</script>)i closing tag

The listed opening tags will no longer enter PHP mode and the listed closing tags will no longer leave PHP mode.

Additionally the asp_tags ini directive is removed.

Reasoning

  • The alternative PHP tags have never gained any significant degree of usage. Their usage has been discouraged since forever.
  • The ASP tags depend on an ini directive and as such are non-portable. We generally try to move away from ini-dependent language behavior. With ASP tags removed, short open tags should be the last.
  • ASP tags clash with underscore.js templates and it's not possible to disable asp tags using ini_set().
  • Supporting different tags allows very weird mixing like <script language=php> echo "foo" %>

Vote

As this is a language change a 2/3 majority is required.

rfc/remove_alternative_php_tags.1410299384.txt.gz · Last modified: 2017/09/22 13:28 (external edit)