Composite Entity Notation and Augmentation for PHP.
Cena is "Composite Entity Notation and Augmentation", a technology about text representation of entity objects state., (*1)
t.b.d., (*2)
Patented in Japan (#4782895), and patent pending in the US. so, please be careful when using this software..., (*3)
For each entity object, Cena represent it the following in text:, (*4)
Cena will simplifies various operations such as database synchronization and complicated html forms., (*5)
Given that the class name of entities are "Model"., (*6)
An entity is represented as a simple text, called CenaID.
For instance: Cena.model.new.1
, Cena.model.get.1
., (*7)
Create a new entity of Model., (*8)
// Cena.model.new.1 $entity = new Model();
Retrieve an entity from a database., (*9)
$entity = Model::findById(1); // Cena.model.get.1
To represent property values of an entity, just specify property name following the CenaID., (*10)
Cena.model.new.1.prop.name = 'my name' Cena.model.get.1.prop.name = 'your name'
Cena uses CenaID to represent relations between entities., (*11)
Cena.model.new.1.link.related = Cena.other.get.1
The above simple notation is almost equivalent with the following PHP code., (*12)
$entity = new Model(); $entity->setRelated( Other::findById(1) );
current protocol looks like:, (*13)
{ cenaID: { prop: { field1: value1, field2: value2, ... }, link: { rel1: cenaID2, rel2: [ cenaID3, cenaID4,...],... } error: { field5: message5, field6: message6,... } info: { orig-cenaID: OriginalCenaId,... } } }
So, what are the differences between Cena and other similar technologies? Honestly, I (the author) is not familiar with other technologies yet, so I cannot be certain but..., (*14)
The following are (probably) the unique features of Cena., (*15)
Currently, Doctrine2 can be used as a base ORM for Cena., (*16)