rfc:shortags

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
rfc:shortags [2008/04/03 20:53]
stas
rfc:shortags [2013/10/29 17:26]
nikic
Line 3: Line 3:
   * Date: 2008-04-03   * Date: 2008-04-03
   * Author: Stas Malyshev <stas@php.net>   * Author: Stas Malyshev <stas@php.net>
-  * Status: Under Discussion +  * Status: Implemented in PHP 5.4 (Always available ''<?='')
- +
- +
- +
  
  
Line 25: Line 21:
 Last visited at <?= $lastvisit ?> Last visited at <?= $lastvisit ?>
 </code> </code>
 +
 +The second form looks much nicer and cleaner, and can be easily understood and edited by non-PHP people like graphical designers, copy editors, etc. However, to use this form, the **short_open_tag** INI setting should be enabled. When this tag is enabled, **<?** also is treated as PHP starting tag, which may be a problem for people using XML in templates, since the engine would confuse XML starting tag with PHP code start. 
 +
 +
 +==== Proposals ====
 +
 +To try and enable people to write short and nice templates, while keeping all XML folks happy, the following solutions were proposed:
  
 === Runtime short tags === === Runtime short tags ===
Line 31: Line 34:
  
   * **Pro**: Allows the setting to be controlled locally without the user needing to do any administration or configuration   * **Pro**: Allows the setting to be controlled locally without the user needing to do any administration or configuration
-  * **Contra**: If the setting "leaks" (such as by template having an exception which is not properly caught by the engine, etc.) it may influence othe application parts and break them.+  * **Contra**: If the setting "leaks" (such as by template having an exception which is not properly caught by the engine, etc.) it may influence other application parts and break them.
  
 === Always available template tags === === Always available template tags ===
Line 37: Line 40:
 Make the tag **<?=** work even when short_open_tag is off, thus allowing nice templates without breaking the XML templates.  Make the tag **<?=** work even when short_open_tag is off, thus allowing nice templates without breaking the XML templates. 
  
- * **Pro**: Allows the nice templates to always work, while keeping XML templates working with short_open_tag being off.  +  * **Pro**: Allows the nice templates to always work, while keeping XML templates working with short_open_tag being off.  
- * **Contra**: Templates with this tag wouldn't be validated as XML, some tools may be confused by this syntax.+  * **Contra**: Templates with this tag wouldn't be validated as XML, some tools may be confused by this syntax.
  
 === Make other syntax === === Make other syntax ===
Line 44: Line 47:
 Make some other short XML-compliant syntax (such as **<?:**) to be used in templates. Make some other short XML-compliant syntax (such as **<?:**) to be used in templates.
  
- * **Pro**: Allows both XML checkers and template writers to be happy +  * **Pro**: Allows both XML checkers and template writers to be happy 
- * **Contra**: Unusual syntax not supported by 100% of tools and not familiar to 100% of users+  * **Contra**: Unusual syntax not supported by 100% of tools and not familiar to 100% of users
rfc/shortags.txt · Last modified: 2017/09/22 13:28 (external edit)