PHPackages                             conscribo-os/cf - 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. [Database &amp; ORM](/categories/database)
4. /
5. conscribo-os/cf

ActiveLibrary[Database &amp; ORM](/categories/database)

conscribo-os/cf
===============

Non-intrusive ORM for PHP

v0.0.1(8y ago)033MITPHPPHP &gt;=5.4.0

Since Aug 20Pushed 6y agoCompare

[ Source](https://github.com/ConscriboOS/CF)[ Packagist](https://packagist.org/packages/conscribo-os/cf)[ Docs](https://github.com/ConscriboOS/CF)[ RSS](/packages/conscribo-os-cf/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependenciesVersions (3)Used By (0)

Conscribo Open Source / Conscribo Framework

The Conscribo framework provides at this time, an Object Relation Model called DataStruct.

Datastruct provides a way to map objects to sql tables and provide an easy way to load and store the objects.

It is used by, developed for and maintained by Conscribo, a commercial accounting and memberadministration SAAS application used by approx. 700 organizations.

Datastruct has the following characteristics:

```
- Pure PHP
	To ensure compatibility in a variety of environments and maximize IDE compatibility,
	we do not use non php constructs (like phpdoc tags), and no modules that need to be installed.

- Non-conflicting
	An object using Datastruct has it's own inheritance and does not need to extend some orm abstraction.
	Datastruct is fully trait based, and applied where needed.

- Well defined
	For various reasons, we like to define our own sql tables, and tell the orm how to use it.
	Therefore, datastruct demands you define a typed classmember to sql table mapping.

- Performance
	It is not the fastest orm, but thanks to lots of optimizations, can be
	tuned to perform well in demanding environments.

```

Datastruct provides the at least the following 'features':

```
- Create, read, update (but not delete) objects with members (fields) and store
	them in tables in your database without any hassle. (ORM)

- Define fields of a variety of basic types, or create your own types if nessecary

- Multiple key handling: A class with a composite primary or foreign key is no problem.

- Multiple tables in 1 class (onetoone extensionjoin). use more than one table as
	one table in one object

- Associative Array join in 1 class (onetomany extensionjoin). Use records from another
	table as an array in an object

- Join Objects (onetomany objectjoin). Define relations with other "Datastruct ojects"
	as members in your object

- Collect objects. Define Collections (or don't and use a virtualCollection) to
	search, filter, sort, limit, create, read and update multiple objects.

- Extend your objects. Specialize your objects with extensions and their own "extended" field definitions

```

Version info:

- 0.0.1 Initial import.

    Development on CF started in 2014 as a closed source solution. In 2017 it became open source, and it still has some "quirks" that make it rely on other Conscribo architecture. They wil dissapear before a stable version.

Roadmap:

- 1.0.0 Open source. To make it suitable to be used in public, some things have to be done: - Rewire the code to run outside Conscribo. - Make it zero configuration as much as possible. - Translate code comments to english. - Write documentation. - Write unit tests (there are some acceptancetests available, but they test implementations of CF in Conscribo) - Write some usage examples

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity49

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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3235d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/25712186?v=4)[atjong](/maintainers/atjong)[@atjong](https://github.com/atjong)

---

Top Contributors

[![atjong](https://avatars.githubusercontent.com/u/25712186?v=4)](https://github.com/atjong "atjong (15 commits)")

---

Tags

databaseormtraitjoininheritanceversatile

### Embed Badge

![Health badge](/badges/conscribo-os-cf/health.svg)

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

###  Alternatives

[friendsofsymfony1/doctrine1

PHP Database ORM for Symfony1. Do NOT use for new projects: please move to a newest Symfony release and Doctrine2

40642.3k](/packages/friendsofsymfony1-doctrine1)[liqueurdetoile/cakephp-orm-json

Cakephp plugin to provide easy control over JSON type fields in database

1363.5k](/packages/liqueurdetoile-cakephp-orm-json)[icanboogie/activerecord

ActiveRecord Object-relational mapping

125.1k5](/packages/icanboogie-activerecord)[andreagroferreira/laravel-sync-tracker

A Laravel package for tracking entity synchronization status between systems

123.6k](/packages/andreagroferreira-laravel-sync-tracker)

PHPackages © 2026

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