This is all over Planet PHP but in case you missed it,
Derick has published minutes from a core developer meet up in Paris regarding the future of PHP 6.
Jeff has posted some very positive feelings. Likewise think there’s some great stuff coming.
Dont have time for a detailed review right now (Maarten?) so some shorts. The Unicode / i18n support that’s being planned is a big one – if you’re wondering what ICU is, have a look here – it’s not a toy project. Register globals is dead, long live input filters. PHP6 is going to mean more BC breaks but for the right reasons. Namespaces are back in play but with a a lingering ‘?’ hanging around (so don’t raise hopes).
Of course, like everyone who’s not contributing to the core, I’ve got an “opinion” about rejected changes that I need to rant about: delegates – was incited by this comment “We did not see any real-world code example”. Allow me to provide…
Covered delegates a long time ago here (calling them Decorators) with reference to real world projects using them, like this one. The way they have to be implemented with PHP today is probablematic for two reasons – first you have write a significant amount of “dumb” code like this and second, you’re injecting a ton of “worthless” method calls which carry a significant performance overhead. If it was possible to eliminate the latter which could (perhaps) be eliminated in some smart way at engine level. Some smart syntax to specify a delegate / decorator would be cool and yet cooler would be some smart engine-level elimination of the redundant calls.
Rant done – thanks for listening.







Well, here is hoping that they break BC entirely and leave it at that. In my view, the biggest mistake they made with PHP5 was retaining BC with PHP4.yuk
Big mistake – I think I said as much in the early days before PHP5.0.x became common use? If they – again – make this mistake with BC in regards to PHP5.x or below, well **** them :eek:
I’ve just not got the time for that – PHP needs a clean break, so lets have it.
November 23rd, 2005 at 11:25 am
Yeah, I studied the notes this morning and was about to write a review, but it’ll have wait until the end of my long day of work and floorball…
November 23rd, 2005 at 11:29 am
What’s “BC”? Please.
Thank you, kindly.
November 23rd, 2005 at 2:58 pm
Backward Compatibility. Also known as “Beware of Changes”. :)
November 23rd, 2005 at 3:21 pm
BC is Backward Compatibility.
November 23rd, 2005 at 3:22 pm
If PHP6 is going to break the BC, then I hope it is really going to worth it. I personally still develop PHP applications using PHP4, just because they can run on both PHP4 and PHP5.
November 24th, 2005 at 12:46 am
[...] Sitepoint发表了一篇简短的文章,里面收录了很多篇关于PHP6的资料。从其中的一条中可以看到,一些没有用的或者是受争议的功能都将被去除,包括register_globals,magic_quotes和safe_mode等。 [...]
November 24th, 2005 at 12:55 am
PHP feels like alpha software to me.
Valid code written in 4.x isn’t guaranteed to work in new versions of 4.x. Valid code written in 5.x will break in 6.x.
What does PHP want to be? I’d consider using it again if the developers would stop shooting from the hip. In other words, get together, write a game plan, and go from there.
It would be wise for PHP to be renamed and a new project started with a game plan made publically available.
November 24th, 2005 at 5:07 am
I wrote the “PHP feels like alpha software to me.” comment.
November 24th, 2005 at 5:10 am
There is already another BC break in php 5
http://www.cyberlot.net/node/35
They changed the order they handle destructors so all objects are gone by the time you get to sessions or your custom shutdown handler. Meaning it is impossible to call other objects from either.
This instantly breaks and session library that uses a object based database layer as before it has a chance to write the data the database object is destroyed.
November 24th, 2005 at 11:23 am
Ah! unicode support … why don’t we just migrate to the java camp now, PHP is beginning to resemble java a lot in terms of features.
But then isn’t it a little too soon to be talking about PHP6, take a look around, look at Asian devs, PHP5 isn’t even mainstream yet and lo! they’re planning on PHP6.
It was about time they took the register globals out completely, it has brought with it nothing but evil :D
November 25th, 2005 at 2:00 am
[...] Mais que faire d’une version PHP 5.1 alors que PHP 4 est encore présent à plus de 94% sur les serveurs (source Nexen.net, pour le mois d’octobre 2005) ? Ce qui me fait peur, c’est que PHP 6 est déjà en chantier (lire par exemple Sitepoint : PHP6 Planning ou Minutes PHP Developers Meeting)… [...]
November 25th, 2005 at 9:48 am
going to drift further and further into the realm of OOP, it needs to have namespaces. Nothing annoys me more than class and function naming collisions!
To get around naming collisions, developers of libraries and frameworks tend to name their classes with some sort of a prefix denoting the codebase to which they belong. For instance, the new Zend Framework uses a prefix of “Z” at the beginning of all its class names. It solves the name collision problem to a point, but still leaves you with an overcrowded “default namespace” and offers no organization whatsoever. If PHP 6 is aiming to be a true enterprise-ready object oriented language, they need to add this feature.
November 28th, 2005 at 12:22 pm
I somehow clipped the beginning of my last comment.. sorry! Should have read,
November 28th, 2005 at 12:24 pm
I can’t believe this is still an issue. It’s why I rarely use PHP. I thought it was going to be fixed in PHP5, but the pulled the rug from me again.
January 5th, 2006 at 12:35 pm
[...] As blogged a while back, you’ll find these changes discussed here. Nice use of carrot and stick in fact—for the pain on fixing your apps to run under PHP6, you get Unicode. Tags: php, php6 [...]
March 10th, 2006 at 5:22 pm
Web needs scripting languages, not oop. oop doesn’t make sense for the web.
May 10th, 2006 at 10:33 am
I agree with coffee_ninja,namespace is must
July 19th, 2006 at 8:04 pm
@chris
That is a little harsh now is it not?
If you develop a very large web application OOP is the best way to keep things organised and structured.
I agree that sometimes it’s overkill though, but that is when we talk about those itty bitty projects.
August 12th, 2006 at 11:48 pm
@chris No, the web needs people to code in PHP like real programmers, not like designers hacking a few haphazard lines of code into their HTML.
Even simple web apps, regardless of wether they are coded in a PHP, Java, or .Net, can benefit from better organization and separation of responsibilities.
My apologies if this reply sounds a bit venemous, but if your way of thinking is what the world truley wants out of PHP, I’ll switch to Java right now and not bat an eyelash. Fortunately I don’t think that it’s so.
August 14th, 2006 at 10:51 am
Why don’t we all just use perl?
June 27th, 2007 at 5:46 pm
Hey PHP is more BC than anything Microsoft ever wrote. Chris OOP is for Db accessibility I agree you dont need it to validate user input.
October 4th, 2007 at 8:08 am
I personally feel OOP is very important for programming. Some time we feel OOP is time consuming. But for a large project we need to be organized. OOP play good rule to organize our code and to bring reusability and readability finally we can reach a good standard.
For new version of any language I think the performance is more important then BC. Because every moment we are moving forward so there should not be any scope to switch the language better switch version. Always we have to satisfy our clients and they just want their output. So my programming language needs good performance. And to bring performance better we break BC. Doing some more effort is better then excuse.
December 17th, 2007 at 1:58 am
1. please no more register globals
2. namespaces … yes please!
The main focus for php6 should be on OOP i reckon.
March 15th, 2008 at 7:56 pm