CodeIgniter v Kahona v Cake v Yii

I am embarking on a project and would like to improve over my last project. I would consider myself an intermediate PHP/MySQL programmer. I understand OOP but don’t have a lot of real world experience implementing it from the beginnning. My thought was that it might be good to use something like CodeIgniter as a base and extend from there.

The project is a discussion/bulletin board based project with accumulation of user input date relating to discussions. So heavy database and text.

Starting out I would like to have a good solid OOP foundation from which I can learn some best practices and approaches to problems in setting the framework for a project.

I would really appreciate any input that anyone is willing to give. I did download and fool with CodeIgniter and like it but before I head off down that trail, I want to make sure it is a well lit path.

Thanks

Symfony is another option (we’re using 1.4 now, but v2 is out). It’s pretty straight forward and there’s plenty of documentation for it.

So would that be your recommendation over the others? Why? All of these look like a pretty good time commitment to become proficient enough to really use them effectively so for me, I’ve pretty much decided this is a good way to go, it’s just I only want to do this once so which one should I use. I have really no experience with any of them to speak of and would really appreciate some guidance from someone more experienced than I if that’s possible.

I’ve heard good and bad about all of them, so it becomes a matter of personal preference - they all work but in different manners, so it becomes a matter of looking over the sample code to see what makes the most sense to you. I was simply providing you with an additional option.

Why not just use straight PHP?

I would read some documentation on all of the frameworks you like and see what (if any) sample video’s they have available.

I personally use Yii and like it a lot because it’s very lightweight, the documentation is excellent, and is very easy to extend upon / swap components out for your own. However, like Dave says it’s mostly a matter of personal preference; no one can decide for you what framework you should use.