Which framework is better?

KatieH

Member
Hi,

I've been reading a lot about framework and which one would be better for my homepage project which we want to code from the start using a particular framework. The programmer I work with likes and is experience with Cakephp

Which of these below are better in term of framework and handles big projects and fast as well? I've been reading so many articles and it just depends on the developer and which framework he or she works with and likes the most. I couldn't find a definitive answer.

So here is the list of the framework that I haven't decide which one to use yet:

Cakephp
Codeigniter
Yii

Any advice?
 
Hi,

I've been reading a lot about framework and which one would be better for my homepage project which we want to code from the start using a particular framework. The programmer I work with likes and is experience with Cakephp

Which of these below are better in term of framework and handles big projects and fast as well? I've been reading so many articles and it just depends on the developer and which framework he or she works with and likes the most. I couldn't find a definitive answer.

So here is the list of the framework that I haven't decide which one to use yet:

Cakephp
Codeigniter
Yii

Any advice?
My friend Joey, who I do a lot of projects with, is pretty much the greatest CakePHP fanboy to ever walk the earth.

If your programmer favors one, you should go with that as it'll get done quicker and be higher quality.
 
I wouldn't say most frameworks are necessarily better than one another, it just depends on which one best suits your needs. If your needs are covered by CakePHP it's okay to stop searching for something "better" and use it.. especially if your developer has experience with it.
 
I have personally used Zend, CakePHP and CodeIgniter. At work, we're starting to look into Yii, and I'm starting to look into it myself.

For most of my projects however, I've built my own framework - simply because each time I use a framework, my needs from it become far greater than what it can provide, and extending it endlessly isn't my cup of tea or coffee.
 
There is no "best", I believe you shouldn't rate the tool in isolation subjectively - unless there is massive security issues - it's relative to the job in hand. One of the main meaningfully measures could be talk of the learning curve of each. Zend is going to take longer than CodeIgniter for the typically LAMP developer, though that itself is relative to the persons experience and how they usually code & think.

Fast is also dependant - speed of development or lightweight-ness of the framework, so easier on the server ? Likely CodeIgniter for both, though with APC and a CDN and depending on the speed the content of the site changes, that's up in the air as well.

Skills of the developer are big too, while you might be able to academically argue that Zend is "better", if you have a CodeIgniter expert at your disposal then that makes more sense.

Personally I could write an auth system in Java .... though I know I'm going to be faster and more confident in PHP, so that isn't about the tool, it's about me. Though if I'm working for a bank, or another risk adverse vertical, they are likely going raise an eyebrow at PHP, so Java is more suitable as it's a higher chance of project success etc.
 
Eh, not all frameworks are created equal.

I'd argue that CodeIgniter is a good example of code poorly brought forward to PHP5 from its PHP4 roots. It uses out-of-date practices, and is not built using any modular design. Out-of-the-box it supports libraries (basic classes), helpers (global function declarations), and plugins (same as helpers), which are essentially different versions of the same concept separated by intent.

I know some will quickly point out that third-party modular solutions exist for CI; however, they are essentially hacks designed to expand a system that fundamentally rejects modular code. As such, they require significantly altering core files, leading to brittle code, or can't offer more than CodeIgniter itself.

Why does any of this matter? Maintainability.

You may have a developer that is well-versed in a particular framework, but that doesn't necessarily mean it's the right tool for the job. Are they having to work against the framework to achieve what you want? In CodeIgniter's case, that's entirely possible. If so, that's probably going to lead to difficult to maintain code, which will become more of a problem as the codebase grows and/or the author of the code leaves the project. It's something you should consider when choosing a framework.

Don't be content exploring only a single framework. CakePHP and CodeIgniter are lauded as being easy to learn. That's true, but so are other frameworks. Do your due diligence and find what best serves you and your project. Sometimes that means going with something completely different than what you anticipated. Without experimenting you can't truly understand what you prefer. It's far easier to identify strengths and weaknesses when you have experience with which to compare.
 
I've actually read in many reviews about framework that Codeigniter is very easy to learn and is for beginner coders to pick up on but with CakePhp, it has a bit of a learning curve and not easy to learn but picked up by expert developers, then comes Zend which is very good but limited in term of resources.
 
I've actually read in many reviews about framework that Codeigniter is very easy to learn and is for beginner coders to pick up on but with CakePhp, it has a bit of a learning curve and not easy to learn but picked up by expert developers, then comes Zend which is very good but limited in term of resources.

I mostly use Python and Go vs. PHP for web development nowadays, but I have used a variety of PHP frameworks in the past. The term "easy" is subjective. None of them are particularly difficult to learn, provided you're comfortable working with PHP. The hardest part of learning a framework is learning the conventions and methodology involved.

You're best bet is to ignore such reviews and just dive-in. CakePHP isnt only for "expert developers", but it does take a bit more time to wrap your head around its conventions -- especially if you're not familiar with the Rubyisms. I haven't seen Zend used much as a framework, but more as a library. I guess what I'm saying is, don't put a lot of weight in such opinions when choosing a framework.
 
Cakephp: A horrible, bloated, slow out of date framework that should only ever be used in monumentally massive projects. Seriously, it's a pile of crap. The worst framework I've ever seen. (IMO)

Codeigniter: A great (and easy to learn) framework, but showing it's age and doesnt take advantage of newer PHP features. If you're new to frameworks this is an ideal place to start. The documentation is pretty decent. The site in my signature runs on a heavily modified copy of PyroCMS, a CMS built on Codeigniter (which is moving to Laravel next year)

Yii: Cant comment.

Try Laravel - it's the future of frameworks and there is a massive amount of hype around it's upcoming v4 release. It uses composer packages -look them up, they are awesome.

(Note: this is all personal preference not fact. It'll boil down to your own preference)

Oh and stay away from all the Microsoft ASP/.NET crap - it's not worth the effort.
 
Try Laravel - it's the future of frameworks and there is a massive amount of hype around it's upcoming v4 release. It uses composer packages -look them up, they are awesome.


I've heard very good things about Laravel
 
Top Bottom