Kris, > You do realize you just proved my point, right? I said that, because only a > small few people were actually participating in this thread, it would be > completely disingenuous for one side or the other to claim to represent the > majority opinion. The fact that you stepped in does not change that, though > I'm glad more people are starting to share their opinions.
All I'll comment on this is that it works both ways. Just because there appears to be vocal support for this, doesn't mean that the majority of developers support it. That's what a vote is supposed to solve. So let's get past the "number of people who want feature x" argument, and look at the technical details of the proposal only (which is what this discussion phase is supposed to be)... > Anthony, please read the thread before responding to it!! I JUST addressed > this a couple emails ago! There is no "magic" file extension. It's only a > convention. Nothing more, nothing less. It is no different than how .php > and .phps are handled. The convention dictates those extensions, but > they're identified by the actual handler, as this would be. Actually, I did read the emails. And if I'm not mistaken, you said this (and I quote): > What I'm proposing with regard to the .phpp > extension is a convention, nothing more. The actual differentiation will > be in the form of a separate handler that's essentially identical to the > current one except for the few minor changes outlined in the RFC. In other > words, the .phpp extension is NOT mandatory. Just as .php is a convention, > so is this. If you want to give it an entirely differnet extension in the > webserver configuration, you can do so. The .phpp is just what the > convention calls for, but in actuality what matters is that it's just a > different extension than what you're using for regular PHP scripts. So, if it's not a configuration setting, how is the parser supposed to determine which way it should handle an include call? How should it determine how a request should be handled? Realistically, the only way this can work in the real world is with a configuration setting. And I say the real world, because it would need to work at the PHP entry point, not at the server itself. Otherwise, we'd be coupling the application instance to the server configuration. Which would basically make this feature a non-starter for shared hosts (and hence the majority of PHP users). So, in practice, the only way it could be implemented is as a configuration setting. If you see another way of it working, please elaborate. Because at this point, I haven't seen any technical aspects of the RFC that clarify it any further. If you do clarify it, please by all means let's discuss that. But as of now, I can only go on what I see and read, and that points to a config setting. > I'm sorry if I'm being a bit testy on this point, but it's REALLY annoying > when people post patently false claims about what the proposal says. That's part of the problem here. The proposal doesn't say much. Sure, it points out a theoretical solution, but no technical one. Without the details of how it would be technically implemented, I'm not sure what you're expecting the discussion to be based on... > I don't necessarily see the current behavior as a "problem," per se. But I > do believe that having the ability to create a pure code stack would be > beneficial and serve as a good selling point to outsiders when PHP 6.0 comes > out, though I think some people's expectations as to how wide the use-case > for this should be are somewhat unrealistic. Well, if the current behavior is not a problem, what is this supposed to fix? > That's why this is not being proposed on PHP 5.x. This is targetted for PHP > 6, where it's a foregone conclusion that there will be major differences > that will require across-the-board changes on servers that choose to adopt > it, and I'm sure it would be a gradual process. While that's a valid point, I'm not sure if it's a strong one. Even with major versions there should be a good reason to break compatibility and the way things work. If there's a good reason, by all means let's do it. But as of yet, I have yet to see what I would consider good justification for this. > As I said (I think the RFC says this, too), echo/print/etc statements are > NOT disallowed by this. The only things disallowed are <?php and ?> tags, > that's it. The second change is that code is parsed as PHP instead of HTML, > so pure HTML code would throw the same error it would now if it was within a > <?php tag. And that's it! So in your own words, it won't actually solve the problem it's set out to solve (prevent outputting from model files). > This isn't about preventing abuse or improving security. Again, please > refer to the other RFCs for that. The scope of this one is much more > limited and much more focused on aiding the developer. There's already > precedent for this, too: Take a look at the include and require statements. > By your logic, when don't we simply get rid of require? After all, it does > the exact same thing that include does. It just blows-up in your face if > the include fails. Why do you suppose we have such a distinction? Because > some developers, myself included, would rather the code blow-up in our faces > instead of failing gracefully in certain circumstances. If I was creating a > true MVC application, this would make it a LOT easier for me to ensure that > no ?> code got accidentally mixed in with the stack. If it did.... > KABOOM!! This is also why I tend to use require instead of include nearly > 100% of the time lol. I think that's a bit of a stretch. Include vs Require are very different statements. They fail, not because something violated a convention you want enforced, but because the application considers it unsafe to continue without that file. So if you're expecting a class to be there, and it's not, it would be literally unsafe to continue. Hence the fatal error. Since there's *literally* no difference between outputting data via <?php and echo (check the opcodes, it's for all practical purposes identical to echo), you're preventing one but not the other. So you're not saying "die if this file tries to output". I'm not saying that would be good, but at least it would be consistent. > Granted, it does ultimately come down to a question of preference. That's > also why I offered the compromise (which I'm STILL waiting on SOMEONE, > ANYONE to respond to, btw!). But there is precedent for this sort of > distinction in PHP. Where's this compromise? Is it in the RFC? I didn't see it... > I am open to new ideas and I am open to modifying the RFC to address certain > concerns without gutting it completely. But what I am NOT open to is > repeating the same back-and-forth over and over and over and over again > because people are just skimming instead of actually reading what's been > said. I'm not here to defend someone else's RFC and I'm not here to answer > the same question a gazillion times while nobody bothers to actually read > it. If you look through my recent posts, you'll notice that the > overwhelming bulk of my frustration is directed at that one thing. I read the RFC before my original reply. I did not read all of the discussion in this thread before replying (I skimmed most, and read the last few replies). I based my commentary off of your prior email, and the RFC. If you want to prevent going back and forth, update the RFC when something is solved (or not). That way, there's a canonical place to reference. Reading through tons of emails (especially when most of the have an aggressive or rant tone to them) is not constructive... > So please, PLEASE, check to make sure something hasn't already been said > before posting it! And if you're concerned about something, please, PLEASE, > make sure that you're not getting this RFC confused with someone else's! I > promise you, my mood will improve dramatically if people would just start > doing that. =) I re-read the RFC again before this email, and from what I can see, all my original points are still outstanding... Anthony > --Kris > >> >> Anthony >> >> >> > Regarding the specific comment, it was in response to a far-overused >> > cliche >> > on this list whenever new ideas are posted; "That's not important, we >> > should be working on other things." It always annoys me when people >> > post >> > that, because it doesn't amount to any specific criticism and it assumes >> > that talking about one thing prevents us from working on another. >> > >> > >> >> > >> >> > Please refer to my previous posts on the matter. For me at least, >> >> > this >> >> > isn't about saving a 5-byte tag. It's about making it easier to >> >> structure >> >> > your code with a stronger separation between design and backend >> >> > function. >> >> > >> >> > >> >> >> >> As to this point it doesn't fall in line with what PHP is. PHP is meant >> >> to >> >> be >> >> embed-able. It's meant to be easy. It's meant to make the development >> >> process fast and simple. >> >> >> > >> > This RFC doesn't change any of that. >> > >> > >> >> >> >> It isn't meant to be difficult or painful. It isn't meant to create >> >> impenetrable >> >> separation between code and design. That won't make anything easier on >> >> the user. If anything you've just created a border they now have to >> >> figure >> >> out >> >> how to cross over. Why are you insisting that this separation isn't >> >> already >> >> easy enough to achieve with PHP? Because to me it always has been easy. >> >> I've been doing it for 6 years. I haven't found anyone that thinks the >> >> process >> >> is incredibly difficult or hasn't been able to achieve it in reasonable >> >> time. >> >> >> > >> > PHP has evolved over the years and its usage has evolved. I would >> > encourage you to read the background section of the RFC, as I've already >> > addressed this. >> > >> > The reason why I'm not responding to certain points is because I've >> > already >> > addressed them in the RFC and, as a general rule, I try not to be >> > dragged >> > in to arguments where I'm essentially just repeating myself over and >> > over >> > again. If somebody can't be troubled to read the RFC and my posts >> > before >> > responding to them, then why should I assume they'll read it if I repeat >> > it >> > x number of times? To me, THAT is what would actually constitute a >> > waste >> > of time. >> > >> > >> >> >> >> > >> >> > I think you guys are stressing-out about the file extension idea a >> >> > little >> >> > too much, and here's why: What I'm proposing with regard to the >> >> > .phpp >> >> > extension is a convention, nothing more. The actual differentiation >> >> > will >> >> > be in the form of a separate handler that's essentially identical to >> >> > the >> >> > current one except for the few minor changes outlined in the RFC. In >> >> other >> >> > words, the .phpp extension is NOT mandatory. Just as .php is a >> >> convention, >> >> > so is this. If you want to give it an entirely differnet extension >> >> > in >> >> the >> >> > webserver configuration, you can do so. The .phpp is just what the >> >> > convention calls for, but in actuality what matters is that it's just >> >> > a >> >> > different extension than what you're using for regular PHP scripts. >> >> > >> >> > So I would urge everyone to calm down on this point, because I'm not >> >> > proposing anything new in terms of how file extensions are used. I >> >> > would >> >> > liken it to the difference between .php and .phps. You can give them >> >> > whatever extension you want, so long as they're different. Make >> >> > sense? >> >> > >> >> >> >> I would urge that if you're going to make a suggestion you address in >> >> an objective >> >> manner what the pros and cons of said suggestion are and not take a >> >> biased >> >> view >> >> by weighing both sides of the facts evenly. >> >> >> > >> > You clearly have your own biased view on this issue, so I'm not sure why >> > you feel it appropriate to lecture others on having their own biases. >> > >> > I'm the one who proposed this and I'm the one who's advocating it. Of >> > course I'm going to be biased in favor of it. I feel I did a good job >> > of >> > addressing these pros and cons in the RFC itself, which is where they >> > should be. The discussion is where I actually explain why I believe the >> > pros outweigh the cons, not simply restate the two. Again, I don't like >> > repeating myself (and yes, I realize the irony of that statement given >> > how >> > many times I've said it lol). >> > >> > >> >> I believe for the most part a lot of voices have weighed in on the >> >> cons of this idea >> >> as well as the pros and the cons seem to be clearly outweigh any of the >> >> pros. >> >> >> > >> > As I said, most of the criticisms have come from a very small number of >> > vocal people. Their opinions are valid, but it would be inaccurate to >> > assume they're the majority. The voting process will ultimately >> > determine >> > that. Some people, like myself, believe that the pros outweigh the >> > cons. >> > You obviously disagree. >> > >> > >> >> >> >> The supporting argument for that fact being that I'm seeing this RFC >> >> being rewritten >> >> as regularly as I take my morning coffee. >> >> >> > >> > Huh?! Look at the changelog on the RFC. The only change I've made so >> > far >> > since the initial draft was changing the status from draft to >> > discussion. >> > I haven't "rewritten" it even once, so I'm not sure where that comment >> > came from. >> > >> > >> >> I respect everyone's right to their opinion and I'm willing to hear >> >> anyone out that is >> >> willing to consider both sides of the situation objectively and without >> >> biased. >> >> >> > >> > I'm glad you respect everyone's right to their opinion. As do I. But I >> > would ask you to reconsider your claim of being "unbiased," because >> > you've >> > clearly demonstrated a solid bias against this even on a core conceptual >> > level. It might be more accurate to say that you're, "open-minded" >> > about >> > it, but "unbiased" would be at best misleading. I'm certainly not >> > unbiased >> > on this, and with all due respect, neither are you. So let's not >> > pretend >> > that we are. >> > >> > Also, I am increasingly frustrated over the fact that much of what I've >> > put >> > forth appears to be repeatedly ignored by people commenting on this; >> > i.e. >> > raising issues that have already been addressed, etc. Most importantly, >> > I've offered a third solution that would allow for per-file sanity >> > checking >> > instead of per-stack, which is exactly what the most vocal critics have >> > been demanding, and yet so far not one person has so much as >> > acknowledged >> > this, let alone offered any sort of response (for or against), despite >> > the >> > fact that this has to be at least the 4th time I've repeated it here. >> > Again, I don't like repeating myself, so please read what's already >> > been >> > said here and on the RFC before posting. And tell me what you think >> > about >> > the compromise I suggested. The only thing more frustrating than having >> > to >> > repeat oneself is putting out an olive branch in hopes of finding common >> > ground, only to be ignored and subsequently accused of not trying to >> > find >> > common ground. *grumble* >> > >> > Please review these things, *then *post a response. Thank you. >> > >> > --Kris > > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php