A Generic Object Framework for Concrete5
Firstly, some thanks and credit
- Rebar was initially a fork of, and still is based heavily upon, C5 Boilerplate CRUD
- Attribute Categories are based on those found in C5 Events Package
- Rebar includes the Validation library from Kohana Framework
Rebar aims to reduce the development time required to implement custom objects when developing using Concrete5. As a boiler-plate framework, there are no auto-magical "scaffold myModel" commands. You still need to implement (i.e. code) all your Models, Views and Controllers yourself.
Late Static Binding Models (LSB)
In a nutshell, LSB means that you can set values of static properties in a child class, and then access their values inside the parent.
In practice, that means RebarModels are more flexible. Rather than relying on a naming convention or pattern, you explicitly set the name of the table and primary key column in your model class.
See details at http://uk1.php.net/lsb
###Attributed Models Rebar fully supports the Concrete5 Attribute/Value system. You can easily add any of the default Attribute types (or roll your own) to your models. This means it's very quick to add drop-down lists of options, addresses etc.
###Validation Rebar uses a fork of the validation library from the Kohana Framework. It supports automatic validation of Model properites via data table Meta Data. Validation can easily be extended to include custom logic and the processing of attributes.
- RebarModel is built around Late Static Bindings. This means PHP5.3+ - ideally 5.4+ for performance gains
- Some of the Controller standards are based on the current version of Concrete5 - so that means 5.5+
Rebar is in active development. Whilst I am using it in production, others should do so with caution
- DisplayTable needs to support sorting / ordering of columns via post-back to ItemList
- ItemList->filterByKeywords() needs completing