Frankly, PCP reminds me on an idea I had 6 to 12 months ago and briefly discussed it with Zak Greant (who discussed it with one of the inventors of the JCP, the Java Community Process with its JSR’s), IIRC Stig Bakken and others. We called it „PHP Community Process“. My basic concern was that while we have PEAR and PECL, there is no „controlled“ way of implementing PHP packages/specifications that may emerge to some kind of an industry standard. PEAR was a good beginning but with the recent acknowledge from industry vendors I think we need some kind of „JCP“ (have a look at „PHP-170“ where we ported the JSR-170 standard for content management to PHP which recently stepped into the Apache Incubator process on the project Jackrabbit) for PHP. PEAR contains working packages for direct use, the JCP with its JSRs contains also only specifications with APIs while the implementation can be done by anyone – with the new OOP functionality in PHP5 like abstract classes, interfaces etc. this is no problem as our port of JSR-170 proves.
In contrast, the „PHP Collaboration Project“ seems to be a good beginning, but I think at the end we need some kind of a process where both the community and so called „expert groups“ consisting of subject matter experts (i.e. from companies) are working out a specification along with an API and a reference implementation. At the end of the day, this will hopefully lead into stable APIs for packages/reference implementations.
I don’t say that the PHP world should simply copy the JCP 1-to-1, but I think it would be good to think about specifications and APIs instead of „frameworks“ (there’s always more than 1 solution in the PHP world) as the „PHP Collaboration Project“ does.
What do you think? Please post comments or mail me at schotte@mayflower.de.
PS: the way PEAR and PECL have developed in the last months is really awesome. Great work, guys!
Björn.
I think it’s hard to tell if such a „framework“ will help in daily development. It would need to be a set of high quality classes that support the developer. Just a clone of PEAR with more or less useful classes does not help.
The problem is that such libraries sometime try to solve to much and become bloated. Also PHP provides most of it’s functions in the core language or via external extensions so a „framework“ would need to do a lot more than just wrap those functions.
I do like the idea of a guided process to propose new ideas for the „framework“. Maybe this „framework“ should go more in the direction of providing specifications for specific problems plus a reference implementation so you could plug in your own implementation for a specific part and still can reuse the rest of the classes that follow the defined standards.
I do think that such a more guided process would also be good for the development of the PHP core.
Some other points to note I think, are that, well how to do this as efficiently as possible. Hmm. The once obvious solution becomes clouded. Well ok here goes