I think updating your RFC to cover the broad points that have changed is worth it, even if small differences will continue to be expressed about the syntax.
2012/4/16 Kris Craig <kris.cr...@gmail.com>: > > > 2012/4/16 Tom Boutell <t...@punkave.com> >> >> Kris, you have been talking recently about allowing for a mode that >> permits the inclusion of .php from .php... something (whatever we're >> calling this middle mode's recommended file extension). >> >> I think having three modes is overkill, but some people think having >> even two modes is overkill, so I'm prepared to live with having all >> three modes (traditional PHP, "pure" PHP that is allowed to include >> traditional PHP, and "purest" PHP that is not allowed to include >> traditional PHP). >> >> After all, I don't have to use "purest" mode if I choose not to do so >> - and I suspect most library authors won't because they want to write >> code that can include whatever the user wants it to. That's their >> choice and mine, and there's really no reason to deny you the option >> of "purest" mode. >> >> And one can make the argument that while, as you say, model code >> should never include a template, controller code (or classes in the >> view layer that manage templates) should invoke templates. That would >> give a better rationale for having all three types. >> >> However, your RFC still does not address allowing all three and >> currently includes very negative language about the middle option. > > > That's because I haven't updated it since the initial draft. > >> >> >> A second issue is that your RFC calls for file extensions to be >> explicitly recognized by PHP itself, which is something many people >> have objected to because the file extension may be unavailable or >> irrelevant depending on the environment. That's why my RFC addresses >> the file extension issue as a strongly recommended convention, not a >> language feature, and provides keywords that can be used to implement >> that convention (and really ought to provide options for the various >> SAPIs as well, so entry points can be pure PHP if desired). > > > That's not actually true. What it's referring to is a convention and > distinguishing between file extensions when accessed via the webserver. > This is already the current behavior via handlers; the RFC isn't actually > proposing to parse the filename itself at the langugage level. Though > seeing as how you're the second person to have misinterpreted it to mean > that, it's possible that the wording I used wasn't clear enough on that > point. > >> >> >> I think it's probably time to write an updated version of your RFC so >> we can figure out if we're developing common ground here. > > > I was hoping to get a little more clarification on the inclusion method at > the language level before proceeding with that. Specifically, is everybody > good with using include/require as $bitwise_constant? Or do people still > think the other options need to be debated more first? > > --Kris > >> >> >> 2012/4/16 Kris Craig <kris.cr...@gmail.com>: >> > >> > >> > 2012/4/16 Tom Boutell <t...@punkave.com> >> >> >> >> Also, Kris's proposal requires that an additional flag be tracked all >> >> the way down through the stack of requires and includes from the point >> >> where pure mode is first encountered, remembering that we're in pure >> >> mode. Note that this flag cannot be a global variable because .php >> >> files that were loaded before this .phpp file are still permitted to >> >> load things, including when acting as autoloaders on behalf of .phpp >> >> code... my head hurts. This cannot be the cleanest way to solve the >> >> problem. >> >> >> >> 2012/4/16 Tom Boutell <t...@punkave.com>: >> >> > Oh I see. Yes, this is one of the reasons I don't like the "pure >> >> > can't >> >> > include non-pure" idea. >> >> > >> >> > Another reason: you can't write generic algorithms. PHP 5.4 has much >> >> > improved support for anonymous functions, so we should see an >> >> > increase >> >> > in libraries that take a few functions as parameters and carry out an >> >> > operation via those functions. But what if one of those functions >> >> > requires something from a .php file? Whoops, I guess it's not a >> >> > generic sorting algorithm library I just released, it's a "generic >> >> > sorting as long as none of your functions touch a .php file" >> >> > algorithm >> >> > library. And good luck figuring this out when it happens. >> >> > >> >> > Kris has pointed out that you could still load a .php file via a >> >> > function that was defined earlier in a .php file that later includes >> >> > .phpp. But this just means that, like my RFC, his RFC contains a >> >> > compromise about strictness. It's just that his compromise is more >> >> > confusing and less likely to be understood before the user gets >> >> > frustrated and declares the whole thing not worth messing with. I >> >> > think ".phpp files don't contain <?php and ?> but can require and >> >> > include files that do" is a much clearer compromise, one that will >> >> > get >> >> > us what we want (an ever increasing percentage of .phpp files) >> >> > without >> >> > making enemies and generating opposition along the way to that better >> >> > place. >> >> > >> >> > On Mon, Apr 16, 2012 at 9:24 AM, Arvids Godjuks >> >> > <arvids.godj...@gmail.com> wrote: >> >> >> 16 апреля 2012 г. 16:09 пользователь Tom Boutell <t...@punkave.com> >> >> >> написал: >> >> >> >> >> >>> These tools already strip <?php tags, they would need minimal >> >> >>> changes >> >> >>> to >> >> >>> support rolling in a .phpp file unmodified. Unless I am missing >> >> >>> something? >> >> >>> >> >> >>> Sent from my iPhone >> >> >>> >> >> >>> On Apr 15, 2012, at 5:30 PM, Arvids Godjuks >> >> >>> <arvids.godj...@gmail.com> >> >> >>> wrote: >> >> >>> >> >> >>> > I posted the bellow text in other thread, but i should have it >> >> >>> > post >> >> >>> > here, >> >> >>> > so i'm reposting it to this thread. >> >> >>> > >> >> >>> > Well, it's time for me to remind about the techique many use (and >> >> >>> > some >> >> >>> > frameworks provide it out of the box) - the application file >> >> >>> > concatination >> >> >>> > to speed up file loading. >> >> >>> > Yii framework provides a Yiilite.php file for this, that includes >> >> >>> > mostly >> >> >>> > used core classes in one big file.that loads much faster and is >> >> >>> > used >> >> >>> > for >> >> >>> > production. Any other framework has user extentions or other type >> >> >>> > of >> >> >>> > solutions for this to speed up the application, and it makes >> >> >>> > really >> >> >>> > big >> >> >>> > difference. >> >> >>> > So there is a good question - how the hell in a MVC framework >> >> >>> > would >> >> >>> > i >> >> >>> > combine my models, controllers, components and other stuff that >> >> >>> > will >> >> >>> > definetly be as in .php so in .pphp. And not every file will be >> >> >>> > cached >> >> >>> > like >> >> >>> > that - some will remain as distinct files even in production. >> >> >>> > >> >> >>> > The further discussion goes the more questions there is and less >> >> >>> > answers >> >> >>> > there are. >> >> >> >> >> >> >> >> >> Yes they obviously do, but that's not what I'm concerned about. >> >> >> What I'm concerned is that code from .php and .pphp files get's >> >> >> mixed >> >> >> in >> >> >> together - template engine related stuff is used as much, as do >> >> >> controllers, >> >> >> session handling classes and bunch of other stuff that by definition >> >> >> is >> >> >> .pphp stuff, but the template stuff is .php and it includes >> >> >> templates. >> >> >> So >> >> >> basically everything just has to fall back to the embedded PHP mode >> >> >> to >> >> >> work >> >> >> and we have no gain from the proposal what so ever - it just becomes >> >> >> useless. >> >> >> >> >> >> That's not counting other issues that people and I have been voicing >> >> >> and to >> >> >> be honest, I never saw a reply to any of it. Maybe there is a reply >> >> >> to >> >> >> all those questions, but they are under wall of text that usually >> >> >> goes >> >> >> in >> >> >> reply - that just discourages to read it at all. >> >> > >> >> > >> >> > >> >> > -- >> >> > Tom Boutell >> >> > P'unk Avenue >> >> > 215 755 1330 >> >> > punkave.com >> >> > window.punkave.com >> >> >> >> >> >> >> >> -- >> >> Tom Boutell >> >> P'unk Avenue >> >> 215 755 1330 >> >> punkave.com >> >> window.punkave.com >> >> >> >> -- >> >> PHP Internals - PHP Runtime Development Mailing List >> >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> >> > >> > The RFC is vague on these points because they haven't been determined >> > yet, >> > though I am starting to lean toward the include/require parameter option >> > for >> > includes. >> > >> > To Tom's point, these questions have already been addressed. Basically, >> > there will be a third type that's on a per-file basis, designed to >> > mitigate >> > the concerns that have been expressed over making this accessible to >> > people >> > using certain frameworks that utilize tangled architecture. The >> > per-stack >> > option will be more suitable for applications that have been designed >> > from >> > the ground-up to use a seperated architecture. Though the per-file one >> > really wouldn't be useful for me, enough people believe that it will >> > be. So >> > since there are valid use cases for both options, I'll include them >> > both. >> > >> > Please refer to my post on Pierre's thread. I outlined an idea for how >> > this >> > could work syntactically. Please post your responses here though so the >> > thread will be easier to follow. >> > >> > --Kris >> > >> >> >> >> -- >> Tom Boutell >> P'unk Avenue >> 215 755 1330 >> punkave.com >> window.punkave.com >> >> -- >> PHP Internals - PHP Runtime Development Mailing List >> To unsubscribe, visit: http://www.php.net/unsub.php >> > -- Tom Boutell P'unk Avenue 215 755 1330 punkave.com window.punkave.com -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php