PHPackages                             cradlephp/cradle-system - 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. cradlephp/cradle-system

ActiveCradle-package[Utility &amp; Helpers](/categories/utility)

cradlephp/cradle-system
=======================

Schema, Relations, Object events and controllers for Cradle

2.3.0(6y ago)21.7k83MITPHPCI failing

Since Mar 17Pushed 5y ago2 watchersCompare

[ Source](https://github.com/CradlePHP/cradle-system)[ Packagist](https://packagist.org/packages/cradlephp/cradle-system)[ RSS](/packages/cradlephp-cradle-system/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (8)Versions (130)Used By (3)

Cradle System Package
=====================

[](#cradle-system-package)

Schema, Model and Relation manager.

Install
-------

[](#install)

If you already installed Cradle, you may not need to install this because it should be already included.

```
composer require cradlephp/cradle-system
$ bin/cradle cradlephp/cradle-system install

```

Schema
------

[](#schema)

Schemas are similar to database tables, but with more definition. With schemas you can define field types, validation, output formats and indexing capabilities like searchable, filterable and sortable. Schemas are designed to be very flexible and explicit.

### Schema Routes

[](#schema-routes)

The following routes are available in the admin.

- `GET /admin/system/schema/search` - Schema search page
- `GET /admin/system/schema/create` - Schema create form
- `GET /admin/system/schema/update/:name` - Schema update form
- `POST /admin/system/schema/search` - Bulk action processor
- `POST /admin/system/schema/create` - Creates a schema
- `POST /admin/system/schema/update/:name` - Updates a schema
- `GET /admin/system/schema/remove/:name` - Removes a Schema
- `GET /admin/system/schema/restore/:name` - Restores a Schema

### Schema Events

[](#schema-events)

- `system-schema-create`
- `system-schema-detail`
- `system-schema-remove`
- `system-schema-restore`
- `system-schema-update`

Relation
--------

[](#relation)

A relation describes the link between 2 objects. Relations can be described by the following. Each relation type will have different sets of UI in the admin.

- 1:0 - one-to-one optionally
- 1:1 - one-to-one required
- 1:N - one-to-many
- N:N - many-to-many

### Relation Routes

[](#relation-routes)

The following routes are available in the admin.

- `GET /admin/system/object/:schema1/:id/search/:schema2` - Relational Search Page
- `GET /admin/system/object/:schema1/:id/create/:schema2` - Relational Create Form
- `GET /admin/system/object/:schema1/:id/link/:schema2` - Relational Link Form
- `POST /admin/system/object/:schema1/:id/search/:schema2` - Bulk action processor
- `POST /admin/system/object/:schema1/:id/create/:schema2` - Creates an object and links
- `POST /admin/system/object/:schema1/:id/link/:schema2` - Links an object
- `GET /admin/system/object/:schema1/:id1/link/:schema2/:id2` - Links an object
- `GET /admin/system/object/:schema1/:id1/unlink/:schema2/:id2` - Unlinks an object
- `GET /admin/system/object/:schema1/:id/export/:schema2/:type` - Exports object relations
- `GET /admin/system/object/:schema/:id/import/:schema2` - Imports object relations

The following routes are available in the front end.

- `GET /system/object/:schema1/:id/search/:schema2` - Relational Search Page
- `GET /system/object/:schema1/:id/create/:schema2` - Relational Create Form
- `GET /system/object/:schema1/:id/link/:schema2` - Relational Link Form
- `POST /system/object/:schema1/:id/search/:schema2` - Bulk action processor
- `POST /system/object/:schema1/:id/create/:schema2` - Creates an object and links
- `POST /system/object/:schema1/:id/link/:schema2` - Links an object
- `GET /system/object/:schema1/:id1/link/:schema2/:id2` - Links an object
- `GET /system/object/:schema1/:id1/unlink/:schema2/:id2` - Unlinks an object
- `GET /system/object/:schema1/:id/export/:schema2/:type` - Exports object relations
- `GET /system/object/:schema/:id/import/:schema2` - Imports object relations

### Relation Events

[](#relation-events)

- `system-relation-link`
- `system-relation-unlink`
- `system-relation-unlinkall`

Object
------

[](#object)

Objects are similar to database table rows but its functionality is mapped by the schema.

### Object Routes

[](#object-routes)

The following routes are available in the admin.

- `GET /admin/system/object/:schema/search` - Object search page
- `GET /admin/system/object/:schema/create` - Object create form
- `GET /admin/system/object/:schema/update/:id` - Object update form
- `POST /admin/system/object/:schema/create` - Creates an object
- `POST /admin/system/object/:schema/update/:id` - Updates an object
- `GET /admin/system/object/:schema/remove/:id` - Removes an object
- `GET /admin/system/object/:schema/restore/:id` - Restores an object
- `POST /admin/system/object/:schema/import` - Imports objects via JSON
- `GET /admin/system/object/:schema/export/:type` - Exports object to a given file type

The following routes are available in the front end.

- `GET /system/object/:schema/search` - Object search page
- `GET /system/object/:schema/create` - Object create form
- `GET /system/object/:schema/update/:id` - Object update form
- `POST /system/object/:schema/create` - Creates an object
- `POST /system/object/:schema/update/:id` - Updates an object
- `GET /system/object/:schema/remove/:id` - Removes an object
- `GET /system/object/:schema/restore/:id` - Restores an object
- `POST /system/object/:schema/import` - Imports objects via JSON
- `GET /system/object/:schema/export/:type` - Exports object to a given file type

### Object Events

[](#object-events)

- `system-object-create`
- `system-object-detail`
- `system-object-remove`
- `system-object-restore`
- `system-object-update`

---

Contributing to Cradle PHP
==========================

[](#contributing-to-cradle-php)

Thank you for considering to contribute to Cradle PHP.

Please DO NOT create issues in this repository. The official issue tracker is located @  . Any issues created here will *most likely* be ignored.

Please be aware that master branch contains all edge releases of the current version. Please check the version you are working with and find the corresponding branch. For example `v1.1.1` can be in the `1.1` branch.

Bug fixes will be reviewed as soon as possible. Minor features will also be considered, but give me time to review it and get back to you. Major features will **only** be considered on the `master` branch.

1. Fork the Repository.
2. Fire up your local terminal and switch to the version you would like to contribute to.
3. Make your changes.
4. Always make sure to sign-off (-s) on all commits made (git commit -s -m "Commit message")

Making pull requests
--------------------

[](#making-pull-requests)

1. Please ensure to run [phpunit](https://phpunit.de/) and [phpcs](https://github.com/squizlabs/PHP_CodeSniffer) before making a pull request.
2. Push your code to your remote forked version.
3. Go back to your forked version on GitHub and submit a pull request.
4. All pull requests will be passed to [Travis CI](https://travis-ci.org/CradlePHP/cradle-system) to be tested. Also note that [Coveralls](https://coveralls.io/github/CradlePHP/cradle-system) is also used to analyze the coverage of your contribution.

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity22

Limited adoption so far

Community24

Small or concentrated contributor base

Maturity81

Battle-tested with a long release history

 Bus Factor2

2 contributors hold 50%+ of commits

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.

###  Release Activity

Cadence

Every ~9 days

Recently: every ~70 days

Total

126

Last Release

1921d ago

Major Versions

0.0.10 → 1.1.02018-03-19

0.1.3 → 1.2.02018-03-21

1.2.90 → 2.1.x-dev2019-01-14

2.2.x-dev → 3.0.x-dev2021-03-27

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/120378?v=4)[Christian Blanquera](/maintainers/cblanquera)[@cblanquera](https://github.com/cblanquera)

---

Top Contributors

[![aprilsacil](https://avatars.githubusercontent.com/u/4941743?v=4)](https://github.com/aprilsacil "aprilsacil (66 commits)")[![cjzamora](https://avatars.githubusercontent.com/u/5561932?v=4)](https://github.com/cjzamora "cjzamora (56 commits)")[![cjestavillo](https://avatars.githubusercontent.com/u/33796130?v=4)](https://github.com/cjestavillo "cjestavillo (25 commits)")[![soycaringal](https://avatars.githubusercontent.com/u/8705300?v=4)](https://github.com/soycaringal "soycaringal (21 commits)")[![clark21](https://avatars.githubusercontent.com/u/5639521?v=4)](https://github.com/clark21 "clark21 (13 commits)")[![kmrosaria](https://avatars.githubusercontent.com/u/17561632?v=4)](https://github.com/kmrosaria "kmrosaria (5 commits)")[![mnlcandelaria](https://avatars.githubusercontent.com/u/4973565?v=4)](https://github.com/mnlcandelaria "mnlcandelaria (4 commits)")[![risenforward](https://avatars.githubusercontent.com/u/37665595?v=4)](https://github.com/risenforward "risenforward (1 commits)")[![vneugenio](https://avatars.githubusercontent.com/u/31558489?v=4)](https://github.com/vneugenio "vneugenio (1 commits)")

---

Tags

cradlecradlephpv2v3-prototypecradlecradlephp

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/cradlephp-cradle-system/health.svg)

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

###  Alternatives

[unopim/unopim

UnoPim Laravel PIM

10.5k2.2k](/packages/unopim-unopim)[bagisto/bagisto

Bagisto Laravel E-Commerce

27.6k169.0k9](/packages/bagisto-bagisto)

PHPackages © 2026

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