PHPackages                             charcoal/app - 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/app

ActiveLibrary[Framework](/categories/framework)

charcoal/app
============

Charcoal application, based on Slim 3

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

Since Mar 30Pushed 2y ago2 watchersCompare

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

READMEChangelogDependencies (22)Versions (77)Used By (9)

Charcoal App
============

[](#charcoal-app)

The App package provides integration with [Slim](https://github.com/slimphp/Slim) and [Pimple](https://github.com/silexphp/Pimple) for building user-facing Web applications and APIs.

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

[](#installation)

```
composer require charcoal/app
```

Overview
--------

[](#overview)

The App package is a collection of *modules*, *routes* (`templates`, `actions` and `scripts`), *handlers*, and *services* tied together with a *config*, a *service container*, and *service providers*.

The framework features (internally and externally) the following:

- PSR-3 logger
- PSR-6 cache system\[†\]
- PSR-7 kernel (web, API, CLI)
- PSR-11 container
- Translation layer\[†\]
- File system layer
- Database layer
- View layer\[†\]

Notes:

- \[†\] Provided by external Charcoal components.

### Components

[](#components)

The main components of the Charcoal App are:

- [Config](docs/components.md#config-component)
- [App](docs/components.md#app-compoment)
- [Module](docs/components.md#module-component)
- [Routes &amp; Request Controllers](docs/components.md#routes--request-controllers)
    - [Action](docs/components.md#action-request-controller)
    - [Script](docs/components.md#script-request-controller)
    - [Template](docs/components.md#template-request-controller)
    - [Route API](docs/components.md#route-api)
- [Routable Objects](docs/components.md#routable-objects)
- [Charcoal Binary](docs/components.md#charcoal-binary)
- [PHPUnit Tests](docs/components.md#phpunit-tests)

Learn more about [components](docs/components.md).

### Service Providers

[](#service-providers)

Dependencies and extensions are handled by a dependency container, using [Pimple](https://github.com/silexphp/Pimple), which can be defined via *service providers* (`Pimple\ServiceProviderInterface`).

##### Included Providers

[](#included-providers)

The Charcoal App comes with several providers out of the box. All of these are within the `Charcoal\App\ServiceProvider` namespace:

- [`AppServiceProvider`](docs/providers.md#app-service-provider)
- [`DatabaseServicePovider`](docs/providers.md#database-service-provider)
- [`FilesystemServiceProvider`](docs/providers.md#filesystem-service-provider)
- [`LoggerServiceProvider`](docs/providers.md#logger-service-provider)

##### External Providers

[](#external-providers)

The Charcoal App requires a few providers from independent components. The following use their own namespace and are automatically injected via the `AppServiceProvider`:

- [`CacheServiceProvider`](docs/providers.md#cache-service-provider)
- [`TranslatorServiceProvider`](docs/providers.md#translator-service-provider)
- [`ViewServiceProvider`](docs/providers.md#view-service-provider)

Learn more about [service providers](docs/providers.md).

Usage
-----

[](#usage)

Typical front-controller ([`www/index.php`](www/index.php)):

```
use Charcoal\App\App;
use Charcoal\App\AppConfig;
use Charcoal\App\AppContainer;

include '../vendor/autoload.php';

$config = new AppConfig();
$config->addFile(__DIR__.'/../config/config.php');
$config->set('ROOT', dirname(__DIR__) . '/');

// Create container and configure it (with charcoal/config)
$container = new AppContainer([
    'settings' => [
        'displayErrorDetails' => true,
    ],
    'config' => $config,
]);

// Charcoal / Slim is the main app
$app = App::instance($container);
$app->run();
```

For a complete project example using `charcoal/app`, see the [charcoal/boilerplate](https://github.com/charcoalphp/boilerplate).

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

Popularity8

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 ~43 days

Recently: every ~136 days

Total

68

Last Release

795d ago

Major Versions

0.9.2 → v2.1.22022-06-21

v2.2.3 → v3.1.02022-08-08

v3.1.8 → v4.0.02022-09-21

v4.0.2 → v5.0.02024-03-13

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

0.3PHP &gt;=5.6.0

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

0.9.0PHP &gt;=7.1

0.9.1PHP ^7.3 || ^8.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 (351 commits)")[![mcaskill](https://avatars.githubusercontent.com/u/29353?v=4)](https://github.com/mcaskill "mcaskill (186 commits)")[![actions-user](https://avatars.githubusercontent.com/u/65916846?v=4)](https://github.com/actions-user "actions-user (13 commits)")[![BeneRoch](https://avatars.githubusercontent.com/u/3017380?v=4)](https://github.com/BeneRoch "BeneRoch (10 commits)")[![JoelAlphonso](https://avatars.githubusercontent.com/u/10762266?v=4)](https://github.com/JoelAlphonso "JoelAlphonso (9 commits)")[![dominiclord](https://avatars.githubusercontent.com/u/1775204?v=4)](https://github.com/dominiclord "dominiclord (6 commits)")

---

Tags

appapplicationcharcoalphpread-only-repositoryslimframeworkslimcmscharcoal

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

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

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

###  Alternatives

[laravel/framework

The Laravel Framework.

34.6k509.9M17.0k](/packages/laravel-framework)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[locomotivemtl/charcoal-app

Charcoal application, based on Slim 3

1320.3k12](/packages/locomotivemtl-charcoal-app)[laravel-zero/framework

The Laravel Zero Framework.

3371.4M369](/packages/laravel-zero-framework)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)

PHPackages © 2026

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