Discover the best of the web!
Learn more about Digg by taking the tour.
5 Next Generation PHP Frameworks
theweb20dev.com — Gone are the days of coding entire PHP apps from scratch. These are the 5 forerunners for the next generation of PHP frameworks. Each one of these frameworks has some foreword thinking quality that sets them apart from the PHP frameworks of yesterday. Many of these are a response to the recent Ruby on Rails, rapid application development hype.
- 794 diggs
- digg it
- npulido, on 10/12/2007, -1/+1Nice breakdown.
- brandonr, on 10/12/2007, -4/+6I'm not a big fan of frameworks, they do more to limit application development than actually speed up the development time unless you take the time to learn all the details, which can be as tedious as learning a new programming language. For coding good PHP applications quickly (and easy to understand/upgrade) all you really need is a template system to seperate your logic from presentation--i.e. smarty, which also takes care of caching.
- hello2usir, on 10/12/2007, -9/+6Smarty is conceptually flawed. PHP IS a templating system.
No need to add the extra step of parsing to do something PHP does naturally. - codedragon, on 10/12/2007, -3/+7Re hello2usir:
"Smarty is conceptually flawed. PHP IS a templating system.
No need to add the extra step of parsing to do something PHP does naturally."
No, PHP is a programming language that, by happy chance, can be used as a templating language. Important distinction.
Moreover, Smarty provides an abstraction to PHP, meaning that people who don't know PHP very well (or at all) can design templates for systems built using it without having to learn it first. Very useful when designers stick to designers and developers stick to developing. It also helps to stop that most annoying of things, a designer who knows some PHP and thinks that means that he knows enough to start editing the back-end code.
There are better templating systems than Smarty though, and ones that enforce MVC more rigidly (though that's not always a good thing). - vyshane, on 10/12/2007, -0/+2I used to be a big fan of smarty, but I found that the designers I worked with were not willing to learn smarty. The developers ended up building the templates themselves, which they might as well have done in plain PHP.
- amokoura, on 10/12/2007, -0/+1> "For coding good PHP applications quickly (and easy to understand/upgrade) all you really need is a template system to seperate your logic from presentation--i.e. smarty, which also takes care of caching."
It's just plain waste of time creating the same background engine over and over again. That's why choosing a framework and learning it becomes a good choice in the end.
(reinventing the wheel & blah blah..) - Phoenyx, on 10/12/2007, -2/+1Using Smarty with your PHP is like mixing Duplo bricks in with your Legos.
- hello2usir, on 10/12/2007, -0/+0" No, PHP is a programming language that, by happy chance, can be used as a templating language. Important distinction. "
PHP is both a programming language and a templating *system* (I did not say language) by its very nature. Its creators specifically designed it that way. You can easily use PHP's own constructs without resorting to slow, bloated parsers like Smarty. Parsing a document when you don't have to is both needless and inefficient.
As for the designer, he/she merely needs to copy and paste whatever little snippets of code you give him/her. And if that task is too difficult then perhaps its time to hire a new designer. - iamcam, on 10/12/2007, -0/+1I've used Smarty on a couple projects already, and would have to say that it affects app performance very little in real-world application. True *some* people use it for more than it's probably intended, but if you keep a clear separation between your business and presentation code you'll be fine.
- hello2usir, on 10/12/2007, -9/+6Smarty is conceptually flawed. PHP IS a templating system.
- eclipse99, on 10/12/2007, -3/+3I'm new to PHP and need to build a small application which involves images.
Which framework (if any) would you recommend?- Grimdotdotdot, on 10/12/2007, -1/+17None, if you are new.
Learn the language first. - bjd773, on 10/12/2007, -2/+0I agree that you should learn the language first. However, eZ Publish is excellent with images because it calls ImageMagick. Probably some other frameworks do the same.
- Run4yourlives, on 10/12/2007, -3/+0Dead Serious: Skip PHP and Learn Ruby on Rails. You'll be a better programmer, and you can always pick up PHP afterwards.
- Grimdotdotdot, on 10/12/2007, -1/+17None, if you are new.
- fmorariu, on 10/12/2007, -4/+1nice going Nick, this is cool *****. :) i knew of them but still you made the page, i want this to grow, lets see how it will grow. :)
- h3rald, on 10/12/2007, -1/+6Nice article, it's similar - although less exhaustive - to the one I wrote yesterday, but mine is only about those PHP frameworks which were inspired by Rails:
http://digg.com/programming/Rails-inspired_PHP_frameworks_2
Direct link: http://www.h3rald.com/articles/view/rails-inspired-php-frameworks
Damn annoying coincidence :( - massive, on 10/12/2007, -0/+2There have been lots of cool new php frameworks coming out lately. For example Modx, which is not on the list.
Link: http://modxcms.com/- daset, on 10/12/2007, -0/+1Did Etomite was also called a framework? ;)
- proton, on 10/12/2007, -0/+3Interesting timing - the latest Pro::PHP podcast is a chat from last week's php|tek conference with some of the leads behind these frameworks (as well as PEAR and Easy Components).
http://podcast.phparch.com/podcast/audio/20060428.mp3 - dogas, on 10/12/2007, -0/+2Trax is, by and large, the closest thing to rails, and if I were stuck using php, I'd probably use trax. However, the syntax feels extremely hacky. That and there's not much documentation.
Rails, however, feels clean, looks clean, and while there are not that many books on the language, there are 3 good books out for the framework. - trotterdylan, on 10/12/2007, -0/+1Seriously.. this article is garbage. Zero content.
- thbt, on 10/12/2007, -0/+2I wouldn't say _zero_ content, but pretty fluffy. H3rald's article is better for sure.
- jo42, on 10/12/2007, -1/+1Frameworks are great. Until you need to do something the framework doesn't support. Then it *really* hurts...
- gwoo, on 10/12/2007, -0/+1actually, thats not true at all. In Cake for instance you have many ways to extend the functionality. There are components that can be used by multiple controllers to manipulate data. Then you could have a helper that will display the data how you want it and make your views really clean and simple. If those are too inflexible, then you can add a vendor library. For example, the CakeBin which is an app that allows you to share code uses Geshi a nice code highlighting package. It took about a day to write the hole application since it has only one controller and model. In other cases, I have used classes from phpclasses.org and converted them to components. OOP is the way to be.
- v3xt0r, on 10/12/2007, -1/+2"Gone are the days of coding entire PHP apps from scratch."
only for those of you who don't have time or experience to create your own frameworks! =)- craigtheguru, on 10/12/2007, -1/+1Yes! Personally, I've never found any existing PHP framework to meet the needs of the applications I develop. They may be fine for some programmers, but once you've implemented many sites you should be able to design and implement a better framework yourself.
I'll keep looking in to these frameworks and other emerging projects but I still see rolling my own for the time being. Lucky for me I'm a smart google-worthy programmer.
- craigtheguru, on 10/12/2007, -1/+1Yes! Personally, I've never found any existing PHP framework to meet the needs of the applications I develop. They may be fine for some programmers, but once you've implemented many sites you should be able to design and implement a better framework yourself.
Digg is coming to a city (and computer) near you! Check out all the details on our