views:

3749

answers:

19

There are a lot of php mvc frameworks out there now. Which one will get me to a frontend, a backend, a user system with permissions the fastest.

I like the look of things like Symfony or Codeigniter but there seems to be a lot of re-inventing the wheel involved.

Every web application is going to have some users, even if they're just administrators, and is going to have an admin page. Most will have some static content as well as coded modules and active features in a configurable templating system. I'd love to install some package and start with a system that does all that that so that I can focus on the hard parts.

I'm looking to build and internal order entry and tracking system if that has any impact on your answer.

+3  A: 

Have you taken a look at Drupal? It's really a CMS but with a modular plug-in framework and template system that might meet your needs.

Dave Mooney
+5  A: 

Ive used codeigniter and it was pretty good, it needs little code to get results and has great documentation.

As for reinventing the wheel, is there much of one to begin with?

Sam
+5  A: 

Try using symfony

Niyaz
I've been using it for almost 2 years, and I usually think frameworks cost more work than they save. Very much like Rails, extremely productive. Stable in production. Well documented. Highly recommended.
Vineel Shah
+2  A: 

Well, it's going to be the one with the shortest learning curve. Which means it probably won't be ZF! I think Cake has a pretty rapid deployment cycle because of its scaffolding nature. Got to be worth a look.

Flubba
A: 

Lately I've been working with Magento, an e-commerce app. I really like the layout (code and system) and I've been considering just removing the cart stuff and using it as a framework so that I can keep the admin pages, permission system, template engine etc. But I'm not sure that I'd save any time compared to writing those sections from scratch.

Eric Goodwin
+3  A: 

I'll put my weight behind Zend Framework. Here are the steps to setting up an MVC with a very light Authorization system:

  1. Download the latest version of Zend Framework.
  2. Follow the instructions for setting up Zend_Controller.
  3. Create a passwd file using htpasswd command.
  4. Use HTTP Authentication in a LoginController of your own creation.
  5. To check whether the current user has logged in use the following:

    Zend_Auth::getInstance()->hasIdentity()

jakemcgraw
A: 

If you want something more "lightweight" then a full blown Framework like Symfony or Cake, I would recommend the classic Pear QuickForm. The advantage in my opinion is the very simple learning curve and really good validation methods. See a short Tutorial

crono
+3  A: 

After spending a chunk of the day installing a number of applications and systems I think I've settle on BackendPro which built on top of CodeIgniter. It's definitely lacking in direct support, but the CI framework has decent support.

BackendPro gives you an admin dashbaord with a basic permission system and little else. It seems perfect for me.

Eric Goodwin
A: 

CakePHP has good ACL support and you can create a separate set of views for "admin" by default. You can also get started pretty quickly with the Rails-like scaffolding. I've gotten to play with it more than actually use it in production, but I've watched others working with me build a new backend system for an app in it in a good afternoon.

jgreenawalt
A: 

I think you should really take a look at Joomla. It is not a framework in the traditional sense, but it is not too far from it either.

Vaibhav
A: 

Have a look at http://www.phpopenbiz.org/jim/

It is focused on building a front-backend application using XML and Eclipse.

+2  A: 

I agree with Sam, CodeIgniter was the fastest for me to have setup and an interface running with dynamic content. And it's pretty easy to learn too.

dawnerd
A: 

Recent edition of php|architect included an article about atk-framework. I think it could be worth a look if minimal coding is a priority.

Dan Powley
A: 

CodeIgniter is a really good framework that is really flexible and it's so easy to setup. I haven't really used the others like CakePHP and Zend in production so I can't say anything about them.

Kohana is a good choice too if you want PHP5 only support. Although it always changes it's API :|

Thorpe Obazee
+2  A: 

CodeIgniter is the most approachable framework I've come across. Many of the others (Cake, Zend, Symfony) seem overly complicated. CI documentation is great. They've kept it relatively lean. However, it doesn't offer much help for user authentication and accounts. As you note, practically every app worth writing includes standard user accounts so this is a major gap.

pbreitenbach
A: 

Symfony took us a lot of time to work into our existing server setup, particularly with sessions. We would probably have the same issues with most frameworks but we stuck it out with Symfony.

If you get into Symfony, the sfGuardPlugin gives you a very quick and thorough Authentication setup. The backend admin setup in the new 1.2 version is really nice.

I've personally searched out very lightweight (even just 1 include file) frameworks and found one over at Livepipe.net, but that has seemed to since disappear.

thrashr888
"One include file" does not make a framework or script "lightweight". Usually they have thousands of lines of code in one file and would be much better split into many files.
DisgruntledGoat
A: 

I'm really amazed that nobody has mentioned Silverstripe yet! It has the UI already... if you want something more towards full stack I'd go with Zend Framework and adopt someone elses basic setup.

tharkun
+1  A: 

I use CakePHP and I am very happy, I think the commnunity is great.

A: 

It's a newcomer (beta), but Agile Toolkit focuses on the UI development while also providing MVC-compliand backend.

DEMOS: http://demo.atk4.com/

Code: http://github.com/atk4/atk4

romaninsh