I want to build a website and want to find an MVC framework. The most important thing is that the framework should support the third-party library well. And the efficiency is also important, too. Which framework do you think is the best? Thanks.
have you tried the simple PHP framework. see this http://code.google.com/p/simple-php-framework/ excellent approach for PHP developers.
I can only recommend symfony. I've tried Zend, Cake and Symfony. After messing with them all, I wouldn't even consider the other 2.
But what's the best framework if I have in mind to create a social network website? Zend is the answer for this too?
One thing I will say is that it has a steeper learning curve than Cake. If you've used a lot of MVC before, it shouldn't be too difficult, but just starting it's a pain to learn and understand.
I really depends on what you are needing to do. If you need a more portable application or need distinct separation between your logic and your layout components, MVC or a MVC framework may be appropriate. It really helps keep different types of code apart, which in the long run makes managing an application much easier. If something goes wrong, you know exactly where to fix it. Also, once you get proficient, you can develop features and new applications extremely quickly. Debugging, caching, and ajax are built into most frameworks, which really helps compared to using separate php coding, self created error control, and javascript frameworks. lastly, if you have more than one developer working on a project a framework helps to standardize the coding, because once you understand how MVC works, there's only a single place to put certain elements of code. There are drawbacks with a framework. They are big and clunky and significantly slower than procedural, or formula / procedural coding, or light OOP coding. They are also a complete pain to learn if you've never used them before. I jumped into frameworks about 5 years after I started with php, and for about 2 weeks it was like square 1. Throw in a database ORM, and you might have well just switched to c++. Really frustrating to get into, but well worth the effort once you get them figured out. Just to expound on my previous post, I don't think Zend, or Cake, or Codeignitor or any other widely used framework is bad. Just after reviewing them all, Symfony was my choice based on support, features, and development. From my understanding it's the hardest to learn overall, but is the most widely used and works for almost any purpose.
Quite interesting guys. So let's say i want to get hands dirty and start a "social community" for my family with login page, user page, and be able to upload pics, write stuff, and be able to show new stuff on index, i can do it with one framework? I'm not saying it's simple, but is it possible?
definitely. We built our entire CRM system on Symfony. Access for 50 - 100 internal and 1000 external users. Has blog, articles, directory, online document storage, reporting, trouble ticketing, UPS integration, VOIP reporting integration, 10 user access levels, bug tracking, as well as a full back-end administration. We add modules and features on a weekly basis. We did this with a framework in about 1/20 of the time that it would have taken to program it normally.
Ouch, that is powerful! So let's say, if a complete php noob like me want to develop a small community, he can do it? Or do i have to go nuts before i can even do a user login?
Its sometimes easier to start with a framework before you know a ton about programming with that language. Something that experienced programmers run into is that they have to un-learn a lot of things before they can move in a different direction. Most of the frameworks have good documentation, and setting up things like basic authentication usually isn't difficult. As long as you have basic skills / understanding, it shouldn't be a problem to jump in right now. Here's a good example of how to get going with symfony at least: http://www.symfony-project.org/tutorial/1_0/my-first-project This explains how to create an entire blogging platform, and shouldn't take more than a few hours. There's also a book: http://www.symfony-project.org/book/1_0/ And lastly, here's their guide on how to make a full project: http://www.symfony-project.org/askeet/1_0/en/ These are all for version 1.0 which is the most stable and will be supported for the longest amount of time. 1.1 is stable as well, but won't be supported as long.
Thanks jestep, i'll take a closer look later on. From a quick read it's way more difficult than i expected. I guess i was expecting something similar to WP widgets... *scubita gets ashamed* Rep added mate.
It's intimidating, but it's really not as hard as it seems upon first impression. Symfonay may not be the best choice for you either. Definitely take a look at the other ones as well.
ehh... some people might argue that Zend is not really a framework in the sense that it's not really like cakephp and symfony. i've tried learning both cakephp and symfony, and i found cake to be the easier of the two. The structure of symfony is just too confusing.