October 31, 2014
I get asked a lot: which is the best PHP framework? Or, should I choose PHP framework A or should I should PHP framework B?
The short answer: it depends! See below for the deeper answer.
When considering a framework, besides checking out what the uber-nerds are talking about at the time, consider the current cutting-edge thinking about frameworks in general, and be sure your choice of a framework, is up-to-date in that regard.
The no-framework PHP framework
For example, the move these days, is towards the ‘no-framework framework’ style of framework – that’s a tongue-twister! Basically, the more advanced a framework is, the more open it is.
You should be able to drop in components as you need then from any source. So for instance, if you don’t like the ORM layer in a framework you happen to be using, you should be able to easily plugin some other ORM.
At the end of the day, learning one framework or another should not be considered the end of the path – you should expect to have to learn a new framework from time to time … as things mature. The good news is that once you’ve learned your first MVC framework, the rest will come pretty easily since they are all based on the same basic concepts and patterns.
So, choose whichever framework you feel like!
February 22, 2013
So a bunch of CodeIgniter nerds/contributors decided to build a new framework because things about CodeIgniter didn’t sit too well with them … tell me something new.
Don’t get me wrong, I am not putting down the Laravel crew for what they did, I just wanted to point out this happens all the time.
So what’s the point of this Friday afternoon blog post?
May 20, 2012
I recently had a conversation with a good friend of mine who has his finger on the pulse of the web app developer community – whether it be PHP, Ruby and even .Net.
So I asked:
Last we spoke, you mentioned that the Zend Framework was in a do or die situation?
Can you elaborate on that? I am just curious.
Rails 3.x is a completely different monster. They replaced their JS layer with jQuery. They replaced their ORM with Arel and ActiveRecord is now a thin wrapper around Arel. They replaced their web server archictecture with “rack” middleware. What this has done is standardized certain portions of the framework to the point where they are truly modular. In the rails community another framework will advertise that it’s “rack compliant” or “built on top of Arel”. What this means is that 37 Signals isn’t *the* ruby company and so they can specialize and delegate, while providing a strong brand that promotes software development best practices.
In the ZF community, ZF 1 worked ok, but it relied on a few anti-patterns (heavy use of singletons in order to ensure that performance wasn’t abismal). ZF 2 is trying to address that, but they have a really small team of strong PHP developers that are working on the core pieces (like the MVC implementation and the persistence). This has made the release of ZF 2 “just around the corner” for about 6 months now.
Also, because the people doing the rewrite wrote the first ZF, they want to clean up all their mistakes and so there’s a bit of ivory tower engineering going on (heavy use of dependency injection and inversion of control patterns), which will make the framework less friendly to beginners. Add to that the fact that Zend_Db was a huge face-palm and that people want integration with Symfony (a competing PHP framework) components, Zend is going to have to give some ground and start making some tough calls to deliver.
Finally, they HAVE TO DELIVER, because ZF 2 is written with the assumption that you’re using PHP 5.3+, which will be a huge shift for large code bases that haven’t seen a serious rewrite since PHP 4. If they don’t make ZF 2 a resounding success, the community around ZF will probably move to greener pastures (my money is on symfony or just not PHP).
my 2 cents,
… Some interesting thoughts, so I continue:
Now that a few years has passed, what do you think of Ruby vs. PHP these days? When we looked at it, I found the libs a little weak .. I imagine all those wholes are filled by now.
I think Ruby’s shaping up nicely for getting something done quickly and elegantly. There’s a huge aversion to ivory tower architecture, which I appreciate. I think that there are still performance issues on the whole that are being addressed, but now there are a lot of different ways of dealing with it (or even not dealing with it by using a cloud service like Heroku).
My final thoughts
My buddy has been developing web apps for years and has worked with several technologies – he like me, is language agnostic. We pick the best tools/language for the job, and we don’t get too religious about anything in particular.
So does this mean PHP is on its’ last legs or am I advocating Ruby? No, PHP is not going anywhere. I decided to post this just as food for thought … something that you can keep in mind as you develop your skills and your career.
February 9, 2010
People ask me from time to time, what PHP framework is the best one to learn?
Well, I always look at technology choices with two things in mind:
- How capable is the technology?
- How accepted is the technology?
If you look around, it becomes pretty clear, that if you want to learn an effective web application framework, you want to learn the Zend Framework – indeed, the trend is with Zend.
Zend framework being used by companies large and small
I know from first-nerd experience that the Zend Framework is being widely adopted. Just recently for example, Intuit and the BBC have implemented new web apps that are Zend Framework based.
… I know because my good buddy Jon Lebensold of Zendcasts helped build one of them.
There are plenty of other examples out there I’m sure … and I am confident that the trend will continue towards the adoption of the Zend Framework. With the PHP company (Zend) and IBM behind it … it doesn’t take a brain surgeon to figure that one out.
Thanks for reading,
January 26, 2010
I’ve been busy with things and so not too many updates lately. Not to worry thought, we have a brand new course and lots of free videos coming out soon on advanced MySQL.
In the following podcast (it was a video but I changed my mind …), I talk about the pragmatism of the Zend Framework dudes.
Short and sweet.
November 16, 2009
My good buddy and right-hand-nerd, Jon is being flown down to do a live webinar for the Zend geeks at Intuit. It seems the accounting giant has recognized Jon’s ability to take the complex and make it seem simple.
Just in case you don’t know, Jon is the author of our crazy cool shopping cart tutorial and our new series on advanced PHP.
… Jon is starting to realize that my choice to go with the Zend Framework a few years ago made sense. Actually, it made dollars and cents!
OK, bad nerd humor … I know. I’m just low on material that isn’t profanity laced.
If you want to know WHY, after looking at all the other PHP frameworks out there, that I thought the Zend Framework was the best choice long term (even back when Zend was still in Beta) .. you’re going to have to ask!
Anyway here is the official announcement:
Jon Lebensold, author of the popular PHP Shopping Cart and founder of Zendcasts.com will be writing a Google Wave Gadget in Boston at Intuit’s East coast office. Intuit is setting up a live webinar which you can attend by registering on the Zendcasts website.
Zendcasts.com began this year with the hope of assisting intermediate PHP developers further their Zend Framework skills. If you’re a PHP developer interested in building apps on Google Wave or want to watch someone build an AJAX application with web services like Google Wave and Intuit’s QuickBase, this free webinar will be worth spending a lunch hour at your desk.
The webinar takes place Wednesday, November 18 at 12:00 (noon) Eastern Standard Time (GMT -05:00).Register online now.
Here’s the banner:
Just in case you are not familiar with Quickbase … just click on the link.
That’s it for today. But coming soon, I will have some pretty big news … actually, the biggest thing to come to killerphp.com since we ordered that huge pizza! Ok, even bigger than that!!
June 14, 2009
In response to my a recent podcast where I recommended that PHP programmers learn the Zend Framework, I was asked why I choose Zend, rather than other PHP frameworks.
March 26, 2008
I’ve released our second video (part 2 of 2) on setting up an MVC structure with the Zend Framework.
This Zend Framework video is from our resident Zend-nerd: Jon Lebensold.
Again, let us know what you think and should you have any suggestions or request, please feel free to comment.
Running time: 19+ minutes
Part 2 of 2
March 24, 2008
I just released a new video on setting up an MVC structure with the Zend Framework. This video is a little more basic than the previous Zend videos … I had to twist Jon’s arm a little.
Anyway, let us know what you think and should you have any suggestions or request, please feel free to comment.
Running time: 12+ minutes
Part 1 of 2.
March 14, 2008
PEAR vs. Zend Framework
Now that the Zend Framework is ready for ‘prime time’, I’ve been considering the Pear framework with regards to how it now fits in the PHP world.
Several picky nerds have pointed out that PEAR is not a framework – check out the comments below. OK, I would agree, technically speaking, PEAR is not a framework. That said, this is what the PEAR people say on the home page of their web site:
PEAR is a framework and distribution system for reusable PHP components. You can find help using PEAR packages in the online manual and the FAQ.
Anyway, that is an argument of semantics and nerd-details … not the point of my article.
… Back to my article:
Both Zend and Pear are frameworks but how are they different?
I would say that the Zend Framework attempts to create a comprehensive whole – a consistent set of components that are designed to work together in a unified manner.
… That is one of the reasons for a framework in the first place.
Though unified, one of the cool things about the Zend Framework is that you can just pick and choose what components you want to use – you don’t have to buy the whole cake to take advantage of all that juicy object oriented PHP code.
With the Pear framework, it is more of a hodgepodge/motley of assorted components. Pear is widely used (and useful) but it does cross over (in terms of functionality) with what we have in the Zend Framework. So the question that comes to my mind is:
Do we still use Pear, if we have the Zend Framework?