Ive been coding in PHP for over a year now. I was thinking to learn a PHP Framework. After googling around, i found few top frameworks such as Zend, CakePHP, CodeIgniter and Symfony. Still, im not able to choose between these. Can anyone please suggest me the best one ?


I have decided to learn codeigniter.
No big deal but I think CakePHP, CodeIgniter, Zend and Symfony are all decent :)
Just choose any!

o please i'd recommend cakePHP. it is simple if you know oop and also very painless. i love its ORM. it's a piece of work! i have used Zend also, but i prefer cake because of its support for convention over configuration.

o please i'd recommend cakePHP. it is simple if you know oop and also very painless. i love its ORM. it's a piece of work! i have used Zend also, but i prefer cake because of its support for convention over configuration.

What do you mean by painless (Suppose I know OOP)? And please explain what you mean by Convetion vs configuration. Have you done/tried CodeIgniter? What do you think of it?

Question out of curiosity :)

Personally I like Zend. It is actively developed, built around the bleeding edge features of the language and has constantly been improving.

My biggest issue with CI is that it was built to support PHP4. To my understanding and from what I have read that means it uses some workarounds to effectively do what php5 is natively capable of.

It really comes down to personal preference there are quite a few big name php frameworks and I've seen really spectacular projects built using them all. Download them, read their manuals, and look at their source.

i also want to learn php framework.so please suggest me also which one is good and also easy to understand.


How it differs from XAMPP, WAMP, LAMP?

Those aren't really frameworks; they're software packages that install Apache, PHP, and MySQL together more easily than installing them separately (I've followed both methods, but installing XAMPP was like eating cake compared to installing each separately). A framework, on the other hand, more closely resembles an API. It's a set of prewritten code designed for a particular purpose, to speed development.

I haven't used a framework yet, but the web programming class I'm taking next fall is supposed to teach CodeIgniter.

You means that framework will give you the friendly code for development?

Yep. For instance, I recently wrote a PHP program to dynamically display tables using data read from a CSV file (a friend actually wrote a large part of the program, which I modified to suit my needs). CodeIgniter has its own Table class that provides most of this functionality out of the box. If I had been using CodeIgniter, I wouldn't have needed to write my own classes. I'd just use what's already there.

You means that framework will give you the friendly code for development?

framework is like a package of classes to help you accomplish easily what you want. That is definition of well designed framework. Poorly designed one might be defined differently ;)

In my point of view there couldn’t be such thing as “the best” framework. There are many factors of choosing a framework but I strongly believe that three of them are the most significant
1) What is your programming background
2) Why do you need a framework and therefore what specs that framework has to have
and least but not last
3) What programmer you want to be .

Member Avatar

This thread is pretty old and frameworks have developed a lot since it was started. If the question is still of interest, then you should ask yourself jkon's questions.
CodeIgniter will probably be the easiest for noobs, but that doesn't make it the best - it has an extremely loose approach to MVC which may be a good thing or bad thing, depending what you need from it. There are very heavy-duty ones out there, some that make my nose bleed. If I had the time, I would probably invest a lot of it into Symfony2. My current favourite - note 'current' - is Yii. That's not to say it's the best - it just does what I need in my current level of understanding of OOP and MVC.

Any framework demands a considerable amount of investment in time and effort (and headaches!), so be sure to research them thoroughly. Some have very steep learning curves. Also search the community and plug-ins / add-ons. How well supported are they? Do users get good feedback from forums. Are there video tutorials, etc? What type of help / support do you favour? No easy answer to 'best' - it's definitely a personal thing. If there were a 'best', there'd probably be very few frameworks around, living off the scraps of the 'one'.

I use Yii Framework and very happy.

You should defiantely try considering something lightweight and easy to lear like http://phpxie.com

It a lightwight framework with a small overhead that gets you same features as larger ones. you can learn it in 30 minutes, there is even a tutorial for that on their site,

Member Avatar

^^dead link

For starters i will suggest codeigniter bacause its simple and dose not require one to use terminal. After that you can decide for yourself which framework you wanna learn.

I am using Zendfox Framework, it's good to for small & large applications. It is very easy to understand and to use.

According to me Yii PHP Framework is the best for Web 2.0 Development apart from it there are many good frameworks but this one is the best.

There is no such a thing as best framework.
All frameworks are best to their own!

For me Yii meets my needs so its the best for me now!

zend from the makes of php themselves

My vote would be to use codeigniter for a beginner, then move over to something more heavy like Zend. Codeigniter is very easy to user and has a small learning curve. A person could build a dynamic website with codeigniter in about four to five hours depending on complexity.

Once upon a time there where a design patterns fever, from around 2004 to mid 2009 (more or less) we had the frameworks fever. It is interesting to see in google trends that even the term framework have dropped. There will always be frameworks, but to be serious a framework is just a frame to work and you will choose one depending on who you are (who you want to be) and what you are doing. I am pro OOP and PHP as a language and as a community is going the other way.
So I write strictly OOP PHP and I have problem reading all this functional, even procedural code.

I can see frameworks that are adjustable to be the core of companies framework arose. There always is the need for frames to work especially if you want your code to be readable by others or by you after a long period of time. Nut I am rather glad that framework fever and war has ended.