PHPackages                             cena/cena - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. cena/cena

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

cena/cena
=========

Composite Entity Notation and Augmentation for PHP.

041PHP

Since Mar 13Pushed 12y ago1 watchersCompare

[ Source](https://github.com/asaokamei/Cena.Cena)[ Packagist](https://packagist.org/packages/cena/cena)[ RSS](/packages/cena-cena/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (2)Used By (0)

Cena.Cena
=========

[](#cenacena)

Cena is "Composite Entity Notation and Augmentation", a technology about text representation of entity objects state.

### license

[](#license)

t.b.d.

### patent

[](#patent)

Patented in Japan (#4782895), and patent pending in the US. so, please be careful when using this software...

About Cena
----------

[](#about-cena)

For each entity object, Cena represent it the following in text:

- lifecycle (how it is generated),
- its properties, and
- relation with other entities.

Cena will simplifies various operations such as database synchronization and complicated html forms.

Entity State and Text Representation
------------------------------------

[](#entity-state-and-text-representation)

Given that the class name of entities are "Model".

An entity is represented as a simple text, called CenaID. For instance: `Cena.model.new.1`, `Cena.model.get.1`.

### Entity LifeCycles

[](#entity-lifecycles)

Create a new entity of Model.

```
// Cena.model.new.1
$entity = new Model();

```

Retrieve an entity from a database.

```
$entity = Model::findById(1);
// Cena.model.get.1

```

### Entity's Properties

[](#entitys-properties)

To represent property values of an entity, just specify property name following the CenaID.

```
Cena.model.new.1.prop.name = 'my name'
Cena.model.get.1.prop.name = 'your name'

```

### Relation Between Entities.

[](#relation-between-entities)

Cena uses CenaID to represent relations between entities.

```
Cena.model.new.1.link.related = Cena.other.get.1

```

The above simple notation is almost equivalent with the following PHP code.

```
$entity = new Model();
$entity->setRelated( Other::findById(1) );

```

Protocol (tentative)
--------------------

[](#protocol-tentative)

current protocol looks like:

```
{
  cenaID: {
    prop: { field1: value1, field2: value2, ... },
    link: { rel1: cenaID2, rel2: [ cenaID3, cenaID4,...],... }
    error: { field5: message5, field6: message6,... }
    info: {
      orig-cenaID: OriginalCenaId,...
    }
  }
}
```

### Cena is Unique At...

[](#cena-is-unique-at)

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...

The following are (probably) the unique features of Cena.

- easy to describe new entities (Cena.model.new.1).
- easy to manipulate many entities, new or existent.
- easy to relate new entities (i.e. no primary key) with other entities.

CenaManager
===========

[](#cenamanager)

Currently, Doctrine2 can be used as a base ORM for Cena.

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/8ed783829e6fa0bd4b0def8c04ccfdfb2fc99f9e61e4a9470acad9e5abc5fcac?d=identicon)[asaokamei](/maintainers/asaokamei)

---

Top Contributors

[![asaokamei](https://avatars.githubusercontent.com/u/747030?v=4)](https://github.com/asaokamei "asaokamei (115 commits)")

### Embed Badge

![Health badge](/badges/cena-cena/health.svg)

```
[![Health](https://phpackages.com/badges/cena-cena/health.svg)](https://phpackages.com/packages/cena-cena)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
