Welcome to Rhubarb

Rhubarb is a PHP application development framework giving you a robust, fast and secure platform
for your next project.

composer create-project rhubarbphp/bootstrap-webapp myapp

How does Rhubarb differ from other great frameworks like Laravel, Zend, Symphony and the others?

Rhubarb shares many of the best of these frameworks but improves in some important areas. Rhubarb
has been forged in the fire of real enterprise application development where performance and
development costs become big concerns.

Here's some of Rhubarb's key features:

1. Scaffolds

A Rhubarb scaffold can, just by including it, configure models, DB schemas, url handling and
user interfaces. After inclusion any aspect of those features can be amended, retired or even
completely replaced to best fit in your application.

2. Hierarchical MVP

3. Performance

We've learned the hard way how applications grow over time and we don't believe the performance
of your application should degrade as your application gets more complex. That's why we've made
important decisions about how Rhubarb is configured.

4. Configuration over Convention

Many frameworks have moved to 'convention over configuration' philosophies. If you name files
correctly and put them in the right location the behaviour you want will automatically emerge.
While this approach lets you demonstrate lots of progress quickly, in a real enterprise application
its not long before your requirements go beyond what simple convention can achieve and invariably
the framework starts working against you requiring fairly obscure to circumvent the automatic
behaviours. Junior developers are also afforded little opportunity to stretch their
programming skills as tasks can easily become simple assembly jobs, with a fall back of
searching the web for solutions to problems outside the 'magic' zone.

Rhubarb's approach is configuration over convention. This gives you the maximum performance
and helps people understand how the application works and thereby open the door to creative
and cost effective programming.

Starting a Rhubarb project

Rhubarb contains a primary library ('rhubarb') and a collection of optional modules and scaffolds that you
can choose from. It requires composer to manage these optional modules.

As we all know the best way to evaluate something is to see real examples so the best way to
get started might be to base your project on our bootstrap app: