dev-master
9999999-devData Abstraction Layer.
MIT
The Requires
- php >=5.5
- crysalead/box ~2.0
- crysalead/set ~2.0
- crysalead/text ~2.0
- crysalead/inflector ~2.0
- crysalead/validator ~3.0
The Development Requires
orm model datamapper data abstraction
Wallogit.com
2017 © Pedro Peláez
Data Abstraction Layer.
Chaos is an independent, persistence-agnostic layer responsible for defining entities' business logic and relationships. It allows to describe a Domain Model without any assumption about the persistence layer., (*2)
Note: The Chaos syntax is derived from li3. If the syntax is not fully compatible with its predecessor, some effort has been made to keep the same clean and beautiful syntax., (*3)
Available datasources libraries: * chaos-database: supports MySQL and PostgreSQL., (*4)
Chaos dramatically simplify the developpment of a datasources libraries by providing all persistence-agnostic logic like relationships, eager/lazy loading, validations, etc. at the root level. The only requirement is the datasource you envisionned to use need to be able to fetch a record/document thanks to a unique identifier (i.e no composite primary key)., (*5)
use My\Project\Model\Images;
// Adding a many-to-many relation
$image = Image::load(123);
$image->tags[] = ['name' => 'Landscape'];
$image->broadcast();
foreach($image->tags as $tag) { // Echoes: 'Montain', 'Black&White', 'Landscape'
echo $tag->name;
}
See the whole documentation here., (*6)
The spec suite can be runned with:, (*7)
cd chaos composer install ./bin/kahlan
Data Abstraction Layer.
MIT
orm model datamapper data abstraction