Forgive me - it's been a *long* time since I've used a listserv, and I'm
still getting the hang of getting the message tags exat. Reposting for those
who may have missed this because I got the exact format of the tags wrong
the first time around.

On Thu, Dec 9, 2010 at 3:53 PM, Michael Morris <dmgx.mich...@gmail.com>wrote:

> Been pointed this way by some folks that this is the place to set
> suggestions on changes to the functions or language. I have two at the
> moment, and that is to the including functions (include, require,
> include_once, require_once). They need to be considered separately as they
> address two different problems.
>
> Tag Selection at include.
> First is the problem of short tags and they aren't being widely used
> because of the problems they cause for XML files.
>
> Why not allow the tag type to be chosen at file include? This should bypass
> the objections seen in http://wiki.php.net/rfc/shortags
>
> The parameter would be set by a constant.
>
> Val  Constant           Effect
> 0    PHP_TAGS_INI       Use the ini setting. Default.
> 1    PHP_TAGS_STANDARD  Use standard PHP tags.
> 2    PHP_TAGS_SHORT     Use PHP short tags.
> 3    PHP_TAGS_NONE      No tags allowed in file, parse as PHP.
> 4    PHP_TAGS_SCRIPT    Script tags <script type="php"></script>
> 5    PHP_TAGS_ASP       ASP style tags <% %>
>
> PHP_TAGS_NONE is suggested as a possible bonus mode this approach allows
> that wouldn't be feasible otherwise.  In this mode the engine treats the
> whole file as PHP and doesn't allow mode switching.  This might allow the
> engine to parse the file faster.  Importantly it would allow framework
> designers to enforce that certain files not have HTML in them - such as a
> database class, or a custom child class.  Admittedly it doesn't stop
> echo'ing the html, but it drives home the point to all but the densest that
> perhaps this isn't the place to be printing/echoing.  It's use would
> encounter the problem of current IDE tools assuming that a PHP file will
> always have a starting <?php tag.
>
> The tag method selected affects the file being included only, so tag modes
> that are undesirable in some circumstances - short tags - can be segregated
> from those circumstance.
>
>
> Namespace Defined At Include.
> This addresses a separate problem from the above, but involves the same
> functions - though it might be better to have another rather than a new
> parameter on the include statements. The problem is that files always
> include to the global namespace, then need to defined their namespace.  This
> behavior is undesirable with PHP template files and putting a namespace tag
> at their start is clumsy at best. Two solutions are proposed - they aren't
> exclusive to each other.
>
> Solution 1. Allow Namespace to be declared as file is included.
> Hence
>
> include('file.php', __NAMESPACE__);
>
> Would include the code in file.php into the current namespace.  If file.php
> declares a namespace, then that namespace becomes a sub namespace.
>
> Solution 2. New function to set target namespace.
>
> setIncludeNamespace( __NAMESPACE__ ); // will set current namespace as the
> default files include into.
>
> Both could be adopted.
>
> Ok, that's all.
>

Reply via email to