Which php framework is recommended?

What about YII, Kohana, Cake PHP or Codeigniter? These are all php frameworks. Codeigniter is probabally easiest for beginners but I’ve been looking into using YII for my next project.

I used these frameworks (for kohana not the last version) and I liked more Yii.

@Michael Morris I am not sure you can say that Django and Rails are dominant frameworks while no one php framework isn’t dominant. Django and Rails certainly have their competition in the framework departments they are just not as vocalized.

Pylons is one great example of a framework for Python that is better than Django in many ways. Rails 3 is also living proof that the Rails community has been changing as it incorporates tech from other frameworks and their methodologies so that it could keep its spot as the evangelized framework.

As for Php frameworks go, Symphony and CodeIgniter are simply the best. Zend is a mess to maintain and Cake is too cobbled together, although it is probably the most Rails-like.

But, if you don’t mind a lack of documentation then Kohana’s latest version is really, really good. It might be the best framework out there code for code.

I’d be interested to hear you elaborate on your framework evaluation.

In agreement with the others it seems, I’ve seen your posts, and it’s obvious you know your stuff, and I am waiting to try out your framework as well! :slight_smile:

Today I learn from chess.com (as I understand they use this framework because they want a programmer to write with this framework) the qcodo framework.
Has anyone experience with that?

qcodo sound new to me. Any gurus can share experience one qcodo? Thanks

I found another framework base on QCodo => QCubed

I have no experience with qcodo, but it’s certainly not a new invention.

Zend is huge. And that can be a good thing, say if you need to print and read barcodes, or connect to google calendar, or retrieve foxpro data - all those (and MANY more) classes and functions are included in the Zend framework. And PEAR to the mix and you covered for almost anything.

BUT Zend can be a nightmare to use and maintain. The good thing is that you don’t have to use it’s framework (which I dislike) to use any part of the library. So if you need something, look at Zend first, it’s probably there.

Seeing as I’m new to frameworks and MVC I found CodeIgniter to be the easiest crossover for me. I really got a good understanding of it and successfully created several projects and was able to use most of my code interchangeably between projects. The support and documentation was great as well.

One thing I noticed with it was that it was easier for me to be creative and “extend” the core with my own ideas. Before CodeIgniter I tried CakePHP but just didn’t get it. I didn’t like the whole command line php calls to “bake” something and support was really lacking.

One thing that concerns me now is that I read a few posts here that referenced security holes in CI, is that true? Now that I have a better understanding of MVC and frameworks I may look into another framework to see if it’s as easy to pick up on…

I know this is an old thread but I wanted to add my comments…

Forgive me I’m new here :slight_smile:

Hi k2zs, thanks for your opinion. The more opinion and experience sharing, the better option for newbie to understand and know about the php framework. Thanks

I am throwing my own php framework into the ring called Alloy Framework that you might want to look at when you get the chance. The goal is a low learning curve like CodeIgniter, but with better architecture and code that follows PEAR/Zend coding standards and conventions.

I guess I’m still too green behind the ears, the code samples on the site look foreign to me, like I’d be starting back at ground zero. That’s not a criticism, just my lack of experience with frameworks. After looking at some of the code on github though it seems somewhat readable to me, I will have to give it a try.

I am interested in your data mapper though. I have wanted to try one with CI, would it work or is it only for use with Alloy?

If you are new to PHP 5.3 features like namespaces and closures, some of the code will indeed look odd because of the new syntax.

The “Spot” DataMapper that is mentioned on the Alloy site is a PHP 5.3 version of phpDataMapper, and is currently under heavy development and thus mostly undocumented so far. It is not tied to Alloy in any way, and can be used in any other project you like. Also, even though Alloy “ships” with the Spot DataMapper included, it is only included as a Plugin, and can be safely disabled without any other errors as long as no module have already been created that depend on it.

Which is likely to have the best performance for a heavy use site with lots of hierarchical objects, for example nested sets?

And which templating engine is best to go with it, if they let you insert any?

CI is easy to use, easy to learn, very flexible and light weight. You can’t go wrong with CI.

CI baby.

Yea,

I see that 2.0 is now official. I downloaded it 2 days ago but haven’t had time to play with it. I asked on their forum if it still works with modular extensions because I really put some time into that and liked it, I was told it does, plugins have been promoted to libraries though.

You said it all right there. PHP Does not have a great framework at all.

I have also released my own framework The Virtual Web Platform. The framework is in its infancy but is being used successfully to build enterprise class applications. There are probably some bugs in the system, but they are getting weeded out. The biggest hurdle is completing the API for web services. I found the built-in PHP support for Soap to be extremely buggy, and the DOM system is not W3C compliant so I’m slowly building a complete system of XML, DOM and Schema processing.

What the system is lacking is documentation. I am trying to convince the programmers working for me to spend some time writing tutorial documentation on the WIKI but as of now learning the system involves dredging through the API documentation plus a lot of trial and error.

There are different intentions for different conditions of framework. I would like to suggest you cake PHP and codeigniter.