DooPHP - fastest MVC based PHP framework

Learn More

Features of Doo Framework

Give us the tools, and we will finish the job ~ Churchill

View the Benchmark

DooPHP performs very well.
Look at the benchmark yourself.

Overview

DooPHP comes with features essential to today's Web 2.0 application development. It focuses on 7 main cores: MVC, REST, URI routing, ORM, Template engine, ease of use and performance. It even has a very loosely coupled design where developers can modify and add new functionailies to the framework at ease.

DooPHP has very detailed documentation. From the definitive guide to class reference, Doo has every information you need to quickly learn and master it.

MVC structure

MVC abbreviation for Model - View - Controller, Doo adopts this proven technique of success in Web & desktop programming. It is common to split an application into separate layers: the presentation/user interface (view), business logic (controller), and data access (model).

In short, consider the MVC design pattern for your development projects. Using its three components, you can open up new levels of robustness, code reuse, and organization.

downup

URI Routing

Doo has a sophisticated routes system for mapping URLs to controllers/actions and generating URLs. It can even be used externally for code which doesn't use MVC pattern.

With URI routes, you get clean URL for your website which is good for SEO purpose. http://example.net/index.php?section=news&year=2009&month=08&day=31
becomes
http://example.net/news/2009/08/31

Doo's URI router supports auto routing as well for quick & lazy development purpose.

downup

Authorization

DooPHP has built-in authentication support. It supports authorization via Access Control List (ACL) which is easy to use. ACL rules are defined in a single file for better maintainance and readability.

downup

Database Replication

Most simple frameworks/application have no separation of Reads and Writes of the DB. Once the projects outgrow a single server RDBMS the next step is often to do a Master/Slave setup in MySQL.

Database replication can be complex but is required in high traffic projects. In DooPHP, we simplifies thing to merely just define the Slave server configurations.

downup

Data Cache

DooPHP provides its own data caching mechanism which supports disk cache, APC, MemCache, XCache and EAccelerator. The storage medium of caching can be changed easily without touching the application code.

downup

Frontend Cache

DooPHP has a sophisticated Frontend Caching mechanism. It supports both Full page and partial page cache. The frontend cache can be used with the tempalte engine too.

With the frontend cache, you can specify which page(URL) to be cached. You can even cache pages in a certain base URL recursively. Frontend cache is a great helper to speed up your site!

downup

Code Generation

DooPHP provides the tools that can automatically generate the code that you need, such as Routes, Controller and Model files

These helper tools are GUI which are a lot easier to use than a command-line interface. Beginners can get started easily with these convenient tools!

downup

I18n Internationalization

DooPHP has a very flexible template engine and controller. You can easily extend the controller and add new features to the view to provide multi-language support for your application. There's even a demo included to show you how to do simple internationalization & localization.

downup

Ease of use

DooPHP is easy to learn & use. There are no complicated configurations or overwhelming concepts to cope with. All you need to use DooPHP is some basic knowledge of PHP language.

downup

Performance wise

DooPHP is fast. It's the fastest MVC based PHP framework you can get for free. It uses the lazy loading technique extensively and avoid slow PHP functions & methods. It has a small memory footprint as well. With DooPHP, you're good to go with your 10-million-hits-per-month web apps.

downup

Centralized Configuration

There are only 3 essential settings to configure to run DooPHP. Configurations are defined as associative array which is highly readable and familiar to all PHP developers. There are only 3 configurations files in a Doo project: Common project settings, routes configurations, and database related configs.

Database relationship mapping is defined in a single file instead of seperate model classes like most ActiveRecord solution is doing. The same principle applies to URI routes setup as well. This means that you only have to look at a single file for the settings, thus, saving your previous time.

downup

RESTful API

Most Web 2.0 sites provide web services in REST form to developers for mashup purpose. Try DooPHP if you are building your own RESTful API or mash up that makes requests to 3rd party web services like Twitter & Facebook. It supports REST natively.

downup

Database ORM Tool

DooPHP have database abstraction layer and ORM tools ready for your RDMBS. It eliminates the need of manual SQL in most cases, however you can do so if you want to. It also performs quoting and escaping of malicious input automatically. DooPHP also supports multiple database connection if you need it. Working with CRUD and relational DB operations has never been so easy!

downup

Flexible Templating

There are times you might want to allow users to upload custom themes to your web app. As you do so, you probably don't want any malicious function calls in the templates which might destroy your system. Template files should stay as HTML as possible. DooPHP let you control what to be allowed in a template easily.

downup

HTTP Authentication

DooPHP supports HTTP digest auth out of the box. You can throw in simple authentication for a file, page, controller or action by defining it in the Routes or through a simple method call.

downup

Logging & Profiling

Debugging is made easy with Doo's logging, code profiling and DB profiling tool. Remember to benchmark and optimize your code before going live!

downup

Works Anywhere

DooPHP works without problem in various PHP mode: mod_php, CGI & FastCGI. DooPHP also works on modern web server such as Apache, Lighttpd and Cherokee. Your apps can be deployed on a domain root directory, sub folder, sub domain, sub folder on sub domain, etc. It doesn't require anything extra other than the PHP's SPL which existed in every PHP installation.

downup

Shared Hosting Support

DooPHP should be working fine on most shared hosting environment, unless PHP isn't installed. You do not need SSH to deploy DooPHP projects. FTP alone will do fine.

downup

E_STRICT Compliant

DooPHP is 100% E_STRICT Compliant. This means that Doo does not produce any notices, warnings or errors. DooPHP also ensures forward compatibility with future versions of PHP.

downup

Ajax Friendly

DooPHP is AJAX friendly and should be working fine with JavaScript frameworks such as jQuery and MooTools.

downup

BACK TO TOP