<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Winning the PHP 5 Framework Wars</title>
	<link>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/</link>
	<description>Deconstructing the arcane art of Web software architecture</description>
	<pubDate>Sat, 22 Nov 2008 15:13:04 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.2</generator>

	<item>
		<title>by: PHP</title>
		<link>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-3033</link>
		<pubDate>Fri, 20 Oct 2006 12:50:42 +0000</pubDate>
		<guid>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-3033</guid>
					<description>&quot;If your framework has 0.72% of the PHP community’s attention&quot;... then that's tens times the number of Ruby developers. PHP is popular, Ruby is not.</description>
		<content:encoded><![CDATA[<p>&#8220;If your framework has 0.72% of the PHP community’s attention&#8221;&#8230; then that&#8217;s tens times the number of Ruby developers. PHP is popular, Ruby is not.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Ma_rio</title>
		<link>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-932</link>
		<pubDate>Sun, 11 Jun 2006 16:55:33 +0000</pubDate>
		<guid>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-932</guid>
					<description>Facts seem to show how PHP5 is an alternative to Java more than an alternative to PHP4. 

Javization of PHP is likely a strategic trade-off (raw popularity for &quot;enterprise&quot; acceptance).</description>
		<content:encoded><![CDATA[<p>Facts seem to show how PHP5 is an alternative to Java more than an alternative to PHP4. </p>
<p>Javization of PHP is likely a strategic trade-off (raw popularity for &#8220;enterprise&#8221; acceptance).
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Steve</title>
		<link>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-810</link>
		<pubDate>Fri, 02 Jun 2006 06:06:30 +0000</pubDate>
		<guid>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-810</guid>
					<description>check out PHP on Trax its by far the best PHP 5 framework i've seen out there.

&lt;a href=&quot;http://www.phpontrax.com&quot; rel=&quot;nofollow&quot;&gt;http://www.phpontrax.com&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>check out PHP on Trax its by far the best PHP 5 framework i&#8217;ve seen out there.</p>
<p><a href="http://www.phpontrax.com" rel="nofollow"><a href='http://www.phpontrax.com' rel='nofollow'>http://www.phpontrax.com</a></a>
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Matthieu Rethers</title>
		<link>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-672</link>
		<pubDate>Thu, 25 May 2006 01:43:30 +0000</pubDate>
		<guid>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-672</guid>
					<description>Here are my thoughts on the various comments:

1. About the slow adoption of PHP5

I think PHP4 is good enough if you are not looking forward to build robust applications. Most of the people using PHP4 and shared hosting don't usually work on critical, large scaled projects. When you start doing serious stuff, like entreprise portals, you will most likely need privileged access to the server to optimize your application or integrate third-party, non-php components. Most of the good PHP4 frameworks out there had to emulate basic object functionalities like abstract classes, encapsulation, type hinting. So yes, PHP4 can probably do what you need, but not as well as PHP5 and most likely by tweaking your design. So I definitely think that serious architect wil lnaturally turn to the latest version. Considering also that no version of PHP is considered stable (according to a guy from the bug fix team), you are strongly encouraged to switch to more recent versions.
Some features are not obviously necessary, like PDO (although some kind of unified drivers are becoming necessary: ADODB, PEAR::DB, Creoel, what else ?), but the adoption of the exception mechanism and the OO were a must in my opinion and are the number one conditions for the creation of a good framework.

2. The war is actually the problem

As it's been said in some of the comments, the strength of the java community is to stick together and all go in the same direction. Have you ever tried to contribute to a PHP project ? Well I have, and I must say that most of the time, my help has been rejected, I think because these projects owner don't want to share their glory or think they know better. Fine then, I'll start my own project, and someone else is going to create another one, and so on. It makes the PHP community look stupid. It's not seen as &quot;Oh there are so much stuff, I get to choose whatever I want&quot; but more as &quot;Damn, there is way too much stuff, I wonder why, they all got to have a problem...&quot;. Take the ORM projects. I think there are about 6 or more of them, they all do the same thing, kind of, so why not grouping them ? &quot;Oh no, my project is much better, I don't trust you, you are going to still my thunder&quot;. You see my point.

3. What a good framework would be

As previously mentionned in one of the comment, the main problem is overdoing stuff. If you integrate too much in your framework, you are pretty much killing it yourself. Next time I want to switch to a different database manager or a different form validator, I have to change of framework. Developers out there, FOCUS! What made the success of Java ? Loosely coupled components that are smartly built to integrate with other components and work together hamoniously.
So what do we really need ?
* A good MVC framework, that's for sure. With years of experience building web application, I know there are patterns that are pre-dominant (dispatching, etc) and widely accepted in other languages. Most important aspects for me are a strong session management, a strong ACL and a flexible architecture with as many extension point as possible to integrate third party tools. Lightweight please, take advantage of the flexibility of PHP, we are lucky not to have the heavy strcture of J2EE containers.
* A good ORM framework, why not. This can save some time.
* A DEVELOPEMENT PLATEFORM LIKE A .NET STUDIO OR WEBSPHERE. That's the main point to be considered by the industry as a productive technology.</description>
		<content:encoded><![CDATA[<p>Here are my thoughts on the various comments:</p>
<p>1. About the slow adoption of PHP5</p>
<p>I think PHP4 is good enough if you are not looking forward to build robust applications. Most of the people using PHP4 and shared hosting don&#8217;t usually work on critical, large scaled projects. When you start doing serious stuff, like entreprise portals, you will most likely need privileged access to the server to optimize your application or integrate third-party, non-php components. Most of the good PHP4 frameworks out there had to emulate basic object functionalities like abstract classes, encapsulation, type hinting. So yes, PHP4 can probably do what you need, but not as well as PHP5 and most likely by tweaking your design. So I definitely think that serious architect wil lnaturally turn to the latest version. Considering also that no version of PHP is considered stable (according to a guy from the bug fix team), you are strongly encouraged to switch to more recent versions.<br />
Some features are not obviously necessary, like PDO (although some kind of unified drivers are becoming necessary: ADODB, PEAR::DB, Creoel, what else ?), but the adoption of the exception mechanism and the OO were a must in my opinion and are the number one conditions for the creation of a good framework.</p>
<p>2. The war is actually the problem</p>
<p>As it&#8217;s been said in some of the comments, the strength of the java community is to stick together and all go in the same direction. Have you ever tried to contribute to a PHP project ? Well I have, and I must say that most of the time, my help has been rejected, I think because these projects owner don&#8217;t want to share their glory or think they know better. Fine then, I&#8217;ll start my own project, and someone else is going to create another one, and so on. It makes the PHP community look stupid. It&#8217;s not seen as &#8220;Oh there are so much stuff, I get to choose whatever I want&#8221; but more as &#8220;Damn, there is way too much stuff, I wonder why, they all got to have a problem&#8230;&#8221;. Take the ORM projects. I think there are about 6 or more of them, they all do the same thing, kind of, so why not grouping them ? &#8220;Oh no, my project is much better, I don&#8217;t trust you, you are going to still my thunder&#8221;. You see my point.</p>
<p>3. What a good framework would be</p>
<p>As previously mentionned in one of the comment, the main problem is overdoing stuff. If you integrate too much in your framework, you are pretty much killing it yourself. Next time I want to switch to a different database manager or a different form validator, I have to change of framework. Developers out there, FOCUS! What made the success of Java ? Loosely coupled components that are smartly built to integrate with other components and work together hamoniously.<br />
So what do we really need ?<br />
* A good MVC framework, that&#8217;s for sure. With years of experience building web application, I know there are patterns that are pre-dominant (dispatching, etc) and widely accepted in other languages. Most important aspects for me are a strong session management, a strong ACL and a flexible architecture with as many extension point as possible to integrate third party tools. Lightweight please, take advantage of the flexibility of PHP, we are lucky not to have the heavy strcture of J2EE containers.<br />
* A good ORM framework, why not. This can save some time.<br />
* A DEVELOPEMENT PLATEFORM LIKE A .NET STUDIO OR WEBSPHERE. That&#8217;s the main point to be considered by the industry as a productive technology.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Jared White</title>
		<link>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-619</link>
		<pubDate>Mon, 22 May 2006 21:55:39 +0000</pubDate>
		<guid>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-619</guid>
					<description>Well, perhaps my semantics aren't exactly right, but basically you're absolutely correct Alderete, and that's what I was trying to convey.</description>
		<content:encoded><![CDATA[<p>Well, perhaps my semantics aren&#8217;t exactly right, but basically you&#8217;re absolutely correct Alderete, and that&#8217;s what I was trying to convey.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Alderete</title>
		<link>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-617</link>
		<pubDate>Mon, 22 May 2006 21:38:25 +0000</pubDate>
		<guid>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-617</guid>
					<description>&lt;blockquote&gt;A “culture of objects” and a push for standardized design patterns need to be fostered. [...] I’m no fan of Java, but one thing the Java community is good at is providing packages that can be mixed and matched based on a common OOP infrastructure.&lt;/blockquote&gt;

I think that you need to distinguish between &quot;design patterns,&quot; which are an implementation detail, and standardized APIs. What the Java community does very well is create, discuss, refine, publish and then &lt;em&gt;implement to&lt;/em&gt; a wide variety of standard APIs. This is what gives the Java developer the flexibilty to choose which toolkit to use for a given project, based on requirements, and have it work with other libraries created by other developers or produced by commercial entities.

The fact that these standardized APIs may utilize or even advocate particular design patterns is not what makes them relatively interchangeable. The interfaces, as defined by the method calls and arguments, is what matters.</description>
		<content:encoded><![CDATA[<blockquote><p>A “culture of objects” and a push for standardized design patterns need to be fostered. [&#8230;] I’m no fan of Java, but one thing the Java community is good at is providing packages that can be mixed and matched based on a common OOP infrastructure.</p></blockquote>
<p>I think that you need to distinguish between &#8220;design patterns,&#8221; which are an implementation detail, and standardized APIs. What the Java community does very well is create, discuss, refine, publish and then <em>implement to</em> a wide variety of standard APIs. This is what gives the Java developer the flexibilty to choose which toolkit to use for a given project, based on requirements, and have it work with other libraries created by other developers or produced by commercial entities.</p>
<p>The fact that these standardized APIs may utilize or even advocate particular design patterns is not what makes them relatively interchangeable. The interfaces, as defined by the method calls and arguments, is what matters.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Vinit Joshi</title>
		<link>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-602</link>
		<pubDate>Mon, 22 May 2006 03:50:23 +0000</pubDate>
		<guid>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-602</guid>
					<description>My view is the PHP needs massive clean up of all the 500+ functions it currently has by using OOrientation and make PHP a fully object oriented language.  There also needs to be a VM framework a la .net for all major platforms and so developers can develop not only for the WEB but smart clients, rich clients etc.  For that a mature thread framework needs to be established along with an event modeling subsystem - PHP-GTK but more cross platform.

In short make it more general programming language, even though this seems to be taboo in this community, PHP is a web languange and that's it, well.. that's why PHP 4 is sticking around... its a web language that's good enough why bother with anything else if the emphasis in the community is that PHP is a web language.

Got to make is general if you want more developers to come, web is just one part, there are many server-side services that need to run etc. to do many other things as well

Vinit Joshi</description>
		<content:encoded><![CDATA[<p>My view is the PHP needs massive clean up of all the 500+ functions it currently has by using OOrientation and make PHP a fully object oriented language.  There also needs to be a VM framework a la .net for all major platforms and so developers can develop not only for the WEB but smart clients, rich clients etc.  For that a mature thread framework needs to be established along with an event modeling subsystem - PHP-GTK but more cross platform.</p>
<p>In short make it more general programming language, even though this seems to be taboo in this community, PHP is a web languange and that&#8217;s it, well.. that&#8217;s why PHP 4 is sticking around&#8230; its a web language that&#8217;s good enough why bother with anything else if the emphasis in the community is that PHP is a web language.</p>
<p>Got to make is general if you want more developers to come, web is just one part, there are many server-side services that need to run etc. to do many other things as well</p>
<p>Vinit Joshi
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: carl mcdade</title>
		<link>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-583</link>
		<pubDate>Sun, 21 May 2006 16:48:44 +0000</pubDate>
		<guid>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-583</guid>
					<description>I have no stats to bach this up but I would say from my last two years in looking at shared webhosts that them running PHP4 is not their fault. The fault lies in the hands of the control panel manufactureres who can seem to get PHP4 and PHP5 to work together and give stability. This is the same thing that is slowing MySQL 5 adoption, it is what is chocking ASP.NET. Both Classic ASP and PHP4 have shown that unless you make it easy to host with a good control panel and easy server administration, it ain't going no where.

The killer app that will launch PHP5 into 98%? A shared hosting back end that works with PHP5 out of the box.</description>
		<content:encoded><![CDATA[<p>I have no stats to bach this up but I would say from my last two years in looking at shared webhosts that them running PHP4 is not their fault. The fault lies in the hands of the control panel manufactureres who can seem to get PHP4 and PHP5 to work together and give stability. This is the same thing that is slowing MySQL 5 adoption, it is what is chocking ASP.NET. Both Classic ASP and PHP4 have shown that unless you make it easy to host with a good control panel and easy server administration, it ain&#8217;t going no where.</p>
<p>The killer app that will launch PHP5 into 98%? A shared hosting back end that works with PHP5 out of the box.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Jared White</title>
		<link>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-546</link>
		<pubDate>Sat, 20 May 2006 18:41:05 +0000</pubDate>
		<guid>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-546</guid>
					<description>The PHP 4+5 shared hosting situation can be complicated, to be sure, so that's an issue. On the other hand, the hosting company I use (Site5) was already doing PHP 4.x as CGI rather than as mod_php (don't ask me how that works, but it's very fast and usable) since they considered that more secure. So when they added PHP 5, they made it work on .php5 files only by default, and you can override that so PHP 5 works with .php files via an .htaccess file. Pretty nifty.</description>
		<content:encoded><![CDATA[<p>The PHP 4+5 shared hosting situation can be complicated, to be sure, so that&#8217;s an issue. On the other hand, the hosting company I use (Site5) was already doing PHP 4.x as CGI rather than as mod_php (don&#8217;t ask me how that works, but it&#8217;s very fast and usable) since they considered that more secure. So when they added PHP 5, they made it work on .php5 files only by default, and you can override that so PHP 5 works with .php files via an .htaccess file. Pretty nifty.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Lennert Stock</title>
		<link>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-531</link>
		<pubDate>Sat, 20 May 2006 10:50:22 +0000</pubDate>
		<guid>http://www.theideabasket.com/2006/05/17/winning-the-php-5-framework-wars/#comment-531</guid>
					<description>It's not that shared hosting providers are lazy or that PHP 4 is good enough. From a hosting provider's point of view, there are two issues at hand: 1) The PHP 4 branch has proven to be stable, and more importantly, 2) PHP 5 can potentially break PHP 4 code. I think what PHP should have done is create a much better update strategy. For example, it could have distributed a PHP4+5 by default, giving providers the options to run them both (.php and .php5 or whatever) out of the box. Didn't the same happen with perl a few years back?</description>
		<content:encoded><![CDATA[<p>It&#8217;s not that shared hosting providers are lazy or that PHP 4 is good enough. From a hosting provider&#8217;s point of view, there are two issues at hand: 1) The PHP 4 branch has proven to be stable, and more importantly, 2) PHP 5 can potentially break PHP 4 code. I think what PHP should have done is create a much better update strategy. For example, it could have distributed a PHP4+5 by default, giving providers the options to run them both (.php and .php5 or whatever) out of the box. Didn&#8217;t the same happen with perl a few years back?
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
