Join 132,685 PHP Programmers for FREE! Get instant access to thousands of PHP experts, tutorials, code snippets, and more! There are 1,262 people online right now. Registration is fast and FREE... Join Now!
I attended a php meetup last night in Orlando. It was my first one, but I really had a good time. The group had four different developers write a simple piece of blogging software using one of four different frameworks. The frameworks represented included:
Zend Framework Symfony Code Igniter CakePHP
The various pros and cons were discussed, and we all got a lot out of the coversation. Do any of you have a preferred framework to use? It doesn't even need to be PHP specific. For instance, I know a lot of you ASPholes dig on DotNetNuke. Sweet, I just made a new term.
Anyway, what are your ideas? Is there a specific framework you like? Do you just like using your own? I'm very curious.
I like Django. I only just started it, but I'm finding it's very nice to work with and the built in database handling is very good and the auto-generated admin function is great. My only problem is my current host doesn't support it .
Another one I have been checking it recently is Rails. It's been getting a lot of hype, and from what I've seen of it it's well deserved! If it wouldn't require me to learn another language I would give Rails a shot to, however I'm not motivated enough to learn Ruby right now.
So did you guys talk about an overall "winner" for the PHP frameworks? I'd like to learn PHP and both symfony and CakePHP look very nice. Which in your opinion is better?
I really dug on CakePHP. As far as Rapid Application Deployment it was the fastest from set up to completion.
Zend was extremely powerful, but it was the biggest pain in the ass to set up. Once they got it going they were able to develop their blog in a couple of hours. Zend has the largest learning curve, but if you already understand MVC you can pick it up.
Symfony was really cool for it's debugging features. It has a tool bar that allows you to view all your variables and queries while you're in development mode.
I wasn't too impressed with Code Igniter.
I haven't used Django, but I should check it out. I'm still trying to pick up all these different apps. I still have to catch up with Drupal as a CMS!
All in all it was a good show. It was really neat seeing everything side by side. You kinda had to be there to get the full benefit of the meeting though. I'm looking forward to seeing what they've got going on next week.
I just want to drop a quick clarification: for all that some people may talk like it is, DNN isn't a framework - it's a CMS. Although what some people do with it on their own time will always surprise me.
I just want to drop a quick clarification: for all that some people may talk like it is, DNN isn't a framework - it's a CMS. Although what some people do with it on their own time will always surprise me.
On the contrary, DNN is a frame work. Taken off their front page:
QUOTE
DotNetNukeŽ is a free, Open Source Framework ideal for creating Enterprise Web Applications
It's used to create all sorts of applications, not just CMSes.
I love the use-at-will architecture, and virtually EVERYTHING can be extended, and is built in powerful php5, and not only is there great community support, but a pretty big company behind it. Now that it has teamed with Dojo, I suspect things on the Ajax side being much more fluent.
Also I am in love with the modular directory style.
I have a blog post about 1.5, and a skeleton application at my site over at http://www.joeyadams.net , if anyone wants to try it out.
I tell you though, as soon as I started developing with a framework, I will never look back. The only time I will develop without one is if I have to, or if I'm just hacking something together.
For php I'm all zend framework, it did take a while to get the hang of - but once you know it (and have a few skeleton app's handy) it's really great. The only thing I dont like about zend framework is the way models are implemented, the whole setup does not seem right to me. I also cant wait until their command line utility is out. Some day I'll try Symfony, it seems complicated at first. Is it php5?
Like the above posters, I like Django. I have not yet done a full production site in it, but the admin functionality is great and it seems to have nice powerful models. I'm not a huge fan of the Python syntax, but it seems like a modern, powerful language.
The framework which I'm really crazy about these days is Grails. It's built on Groovy, an alternate, agile, language for the JVM (it compiles into the same stuff as Java, and is fully interoperable with java classes). It is inspired by rails, and is extremely fast to develop in, and is built on top of the huge Java frameworks like Spring and Hibernate.
I think I might be giving RoR a shot because so far all of the good hosts don't "support" it. Hosts like Dreamhost and Bluehost have Rails out-of-the-box yet when I talked to the live chat guy about Django today, he didn't even know what it was . Apparently I can use whatever I need to as long as it doesn't require root access, but after looking at the setup on Bluehosts forum it just looked like a huge pain in the ass.
I'll probably buy some hosting from Bluehost (even though I have 6 months left at Siteground ), attempt to get Django working and if I can't, try out Rails and CakePHP. Very nice suggestions in this thread guys, keep them coming!
On the contrary, DNN is a frame work. Taken off their front page:
QUOTE
DotNetNukeŽ is a free, Open Source Framework ideal for creating Enterprise Web Applications
It's used to create all sorts of applications, not just CMSes.
I stand corrected, in that case. I work in an office where the salespeople sell DNN as a CMS, and then we just build modules onto it as necessary - so I've seen it as a CMS, and not as a framework per se. I'll have to look into using it more as a framework.
When it comes down to frameworks, I tend to prefer ASP.Net itself, or my own home-brewed Perl frameworks.
This post has been edited by girasquid: 8 Jun, 2008 - 10:45 AM