PHPackages                             charcoal/core - 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. [Framework](/categories/framework)
4. /
5. charcoal/core

ActiveLibrary[Framework](/categories/framework)

charcoal/core
=============

Charcoal Web Framework

v5.0.0(2y ago)0899MITPHPPHP ^7.4 || ^8.0

Since Sep 14Pushed 2y ago2 watchersCompare

[ Source](https://github.com/charcoalphp/core)[ Packagist](https://packagist.org/packages/charcoal/core)[ Docs](https://charcoal.locomotive.ca)[ RSS](/packages/charcoal-core/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (15)Versions (71)Used By (9)

Charcoal Core
=============

[](#charcoal-core)

The Core package provides abstract objects and tools for defining object data models and managing datasource connections.

Installation
------------

[](#installation)

```
composer require charcoal/core
```

For Charcoal projects, the service provider can be registered from your configuration file:

```
{
    "service_providers": {
        "charcoal/model/service-provider/model": {}
    }
}
```

Overview
--------

[](#overview)

### Loader

[](#loader)

TODO

### Model

[](#model)

TODO

### Source

[](#source)

`Source` provides storage support to Charcoal models.

Using a `Source` object directly:

```
$model = ModelFactory::instance()->create('namespace/model');
$source = SourceFactory::instance()->create('database');
$source->load_item(1, $model);
```

Using a `Storable` object, which abstract away the `Source` completely.

```
// Model implements StorableInterface with StorableTrait
$model = ModelFactory::instance()->create('namespace/model');
// This will load the Model's source from it's metadata
$model->load(1);
```

#### Available Source

[](#available-source)

Currently, only the `database` source is supported.

##### Database Source

[](#database-source)

The `DatabaseSource` source type is currently the only supported storage source.

##### TODOs

[](#todos)

- Implements a `FileSource`, at least a basic CSV support.
- Move `CollectionLoader` to here, somehow.

### Validator

[](#validator)

The validator namespace is obsolete and should not be used. Its usage is currently being removed from everywhere in charcoal.

Resources
---------

[](#resources)

- [Contributing](https://github.com/charcoalphp/.github/blob/main/CONTRIBUTING.md)
- [Report issues](https://github.com/charcoalphp/charcoal/issues) and [send pull requests](https://github.com/charcoalphp/charcoal/pulls)in the [main Charcoal repository](https://github.com/charcoalphp/charcoal)

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community25

Small or concentrated contributor base

Maturity83

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 61% 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

Every ~44 days

Recently: every ~15 days

Total

63

Last Release

796d ago

Major Versions

0.6.4 → v2.1.22022-06-21

v2.2.3 → v3.1.02022-08-08

v3.1.8 → v4.0.02022-09-21

v4.1.0 → v5.0.02024-03-13

PHP version history (4 changes)0.1PHP &gt;=5.5.0

0.2PHP &gt;=5.6.0

0.4.0PHP &gt;=5.6.0 || &gt;=7.0

v2.1.2PHP ^7.4 || ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/cfb071c0ff7ce9500c528a003a2c53124248debc3e5bf367c17f89f5e6136125?d=identicon)[mducharme](/maintainers/mducharme)

![](https://www.gravatar.com/avatar/0a4f39523b4b2837562ba0848a0327b8d340118d1ba87cb0f5d59b1d5cb6beba?d=identicon)[mcaskill](/maintainers/mcaskill)

![](https://www.gravatar.com/avatar/f3f29e38395113e2400bdd7e51bea982b17f120d4d5a53d4473b53118ee46f8d?d=identicon)[JoelAlphonso](/maintainers/JoelAlphonso)

![](https://www.gravatar.com/avatar/4229f19eecd12c2b651b6502dcc5adfba48c5770db3d2dbea55fc92c7a246b2b?d=identicon)[BeneRoch](/maintainers/BeneRoch)

---

Top Contributors

[![mducharme](https://avatars.githubusercontent.com/u/12157?v=4)](https://github.com/mducharme "mducharme (397 commits)")[![mcaskill](https://avatars.githubusercontent.com/u/29353?v=4)](https://github.com/mcaskill "mcaskill (208 commits)")[![actions-user](https://avatars.githubusercontent.com/u/65916846?v=4)](https://github.com/actions-user "actions-user (17 commits)")[![BeneRoch](https://avatars.githubusercontent.com/u/3017380?v=4)](https://github.com/BeneRoch "BeneRoch (16 commits)")[![JoelAlphonso](https://avatars.githubusercontent.com/u/10762266?v=4)](https://github.com/JoelAlphonso "JoelAlphonso (10 commits)")[![dominiclord](https://avatars.githubusercontent.com/u/1775204?v=4)](https://github.com/dominiclord "dominiclord (2 commits)")[![veve40](https://avatars.githubusercontent.com/u/7537381?v=4)](https://github.com/veve40 "veve40 (1 commits)")

---

Tags

charcoalframeworkphpread-only-repositoryframeworkcmscharcoallocomotive

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

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

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

###  Alternatives

[symfony/symfony

The Symfony PHP framework

31.3k86.3M2.2k](/packages/symfony-symfony)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[bear/package

BEAR.Sunday application framework package

30527.9k23](/packages/bear-package)[locomotivemtl/charcoal-app

Charcoal application, based on Slim 3

1320.3k12](/packages/locomotivemtl-charcoal-app)

PHPackages © 2026

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