4

Just like the title says, are there any PHP web application frameworks that don't use a front controller?

The Front Controller Pattern is a software design pattern listed in several pattern catalogs. The pattern relates to the design of web applications. It "provides a centralized entry point for handling requests."

The front controller may be implemented as a Java object, or as a script in a script language like PHP, ASP, CFML or JSP that is called on every request of a web session. This script, for example an index.php, would handle all tasks that are common to the application or the framework, such as session handling, caching, and input filtering. Based on the specific request it would then instantiate further objects and call methods to handle the particular task(s) required.

The alternative to a front controller would be individual scripts like login.php and order.php that would each then satisfy the type of request. Each script would have to duplicate code or objects that are common to all tasks. But each script might also have more flexibility to implement the particular task required.

1
  • 1
    As I'm writing a front controlled system, (front controlling makes a number of tasks easier) I'm quite curious about your reason for discriminating on the front controller feature. Just a matter of taste, or did you find some relevant drawbacks about them?
    – ZJR
    Commented Aug 25, 2011 at 20:43

2 Answers 2

2

There are a few without it. Like Seagoull or Rain Framework.

You can see a list here: http://en.wikipedia.org/wiki/Comparison_of_Web_application_frameworks#PHP

0

Zend Framework is modular. You can use only the parts you need without being forced into a front controller.

1
  • Yes, but if you're using the whole shebang (the MVC part of it) then yes, you do have to use a front controller. Commented Oct 25, 2011 at 4:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.