PHPackages                             dotkernel/api - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. dotkernel/api

ActiveProject[HTTP &amp; Networking](/categories/http)

dotkernel/api
=============

Dotkernel API

7.0.0(7mo ago)511487[12 issues](https://github.com/dotkernel/api/issues)[3 PRs](https://github.com/dotkernel/api/pulls)MITPHPPHP ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0CI passing

Since Oct 21Pushed 1mo ago10 watchersCompare

[ Source](https://github.com/dotkernel/api)[ Packagist](https://packagist.org/packages/dotkernel/api)[ Docs](https://www.dotkernel.org)[ RSS](/packages/dotkernel-api/feed)WikiDiscussions 7.0 Synced today

READMEChangelog (10)Dependencies (37)Versions (50)Used By (0)

Dotkernel API
=============

[](#dotkernel-api)

Dotkernel API is a PHP skeleton app for building REST APIs based on [Mezzio microframework](https://github.com/mezzio) and [Laminas](https://github.com/laminas) components which implements standards like PSR-3, PSR-4, PSR-7, PSR-11 and PSR-15.

Dotkernel API is an alternative for legacy Laminas API Tools (formerly Apigility) applications and is based on Enrico Zimuel's [Zend Expressive API - Skeleton example](https://github.com/ezimuel/zend-expressive-api).

> Live [demo](https://api.dotkernel.net/).

Documentation
-------------

[](#documentation)

Documentation is available at:

Version History
---------------

[](#version-history)

BranchReleasePSR-11OSS LifecyclePHP Version7.0`>= 7.1`1[![OSS Lifecycle](https://camo.githubusercontent.com/eb181484ccd4a9293cb680b0b4e0cd5f8637a02d83613067ebac93e055093508/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c253246617069253246626c6f62253246372e302532464f53534d45544144415441)](https://camo.githubusercontent.com/eb181484ccd4a9293cb680b0b4e0cd5f8637a02d83613067ebac93e055093508/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c253246617069253246626c6f62253246372e302532464f53534d45544144415441)[![PHP from Packagist (specify version)](https://camo.githubusercontent.com/fe5d8cf232455cf93e53710ecef3bbbe13ffaeafce1ff8410f1554f6fa036cf3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f6170692f372e312e30)](https://camo.githubusercontent.com/fe5d8cf232455cf93e53710ecef3bbbe13ffaeafce1ff8410f1554f6fa036cf3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f6170692f372e312e30)7.0`< 7.1`1[![OSS Lifecycle](https://camo.githubusercontent.com/eb181484ccd4a9293cb680b0b4e0cd5f8637a02d83613067ebac93e055093508/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c253246617069253246626c6f62253246372e302532464f53534d45544144415441)](https://camo.githubusercontent.com/eb181484ccd4a9293cb680b0b4e0cd5f8637a02d83613067ebac93e055093508/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c253246617069253246626c6f62253246372e302532464f53534d45544144415441)[![PHP from Packagist (specify version)](https://camo.githubusercontent.com/76c2b93c788cf20874bc79139404b1acf4707bc2abbe88ddf5e4b308c1db324b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f6170692f372e302e30)](https://camo.githubusercontent.com/76c2b93c788cf20874bc79139404b1acf4707bc2abbe88ddf5e4b308c1db324b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f6170692f372e302e30)6.0`< 7.0`1[![OSS Lifecycle](https://camo.githubusercontent.com/3b9bb56b93731eb6a8ed7d100e36c39b80644f0052b2c0e9e77faaf807f72f63/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c253246617069253246626c6f62253246362e302532464f53534d45544144415441)](https://camo.githubusercontent.com/3b9bb56b93731eb6a8ed7d100e36c39b80644f0052b2c0e9e77faaf807f72f63/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c253246617069253246626c6f62253246362e302532464f53534d45544144415441)[![PHP from Packagist (specify version)](https://camo.githubusercontent.com/5e4083acce2c07cf1d4edd09bf83d902251993ba4c26ce090c460be598663f1e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f6170692f362e312e30)](https://camo.githubusercontent.com/5e4083acce2c07cf1d4edd09bf83d902251993ba4c26ce090c460be598663f1e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f6170692f362e312e30)5.0`< 6.0`1[![OSS Lifecycle](https://camo.githubusercontent.com/99553175b08c9c3537885c742d2e4b321224ccbe5dc62b57f67cd854e88d7aa3/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c253246617069253246626c6f62253246352e302532464f53534d45544144415441)](https://camo.githubusercontent.com/99553175b08c9c3537885c742d2e4b321224ccbe5dc62b57f67cd854e88d7aa3/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c253246617069253246626c6f62253246352e302532464f53534d45544144415441)[![PHP from Packagist (specify version)](https://camo.githubusercontent.com/36968948c4fee9c8ad2abd24d9b21eddae4b2712824352b0655689a7b231a338/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f6170692f352e332e30)](https://camo.githubusercontent.com/36968948c4fee9c8ad2abd24d9b21eddae4b2712824352b0655689a7b231a338/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f6170692f352e332e30)4.0`< 5.0`1[![OSS Lifecycle](https://camo.githubusercontent.com/fcc806adac740aa4a4321d9caf8b665963be2ce5d00e39e47e9cce3e4bbc454b/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c253246617069253246626c6f62253246342e302532464f53534d45544144415441)](https://camo.githubusercontent.com/fcc806adac740aa4a4321d9caf8b665963be2ce5d00e39e47e9cce3e4bbc454b/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c253246617069253246626c6f62253246342e302532464f53534d45544144415441)[![PHP from Packagist (specify version)](https://camo.githubusercontent.com/7d051d4a4ecd3dc7a37e52004549c907263ef28129b4f6e6b4df43c07940b79f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f6170692f342e352e30)](https://camo.githubusercontent.com/7d051d4a4ecd3dc7a37e52004549c907263ef28129b4f6e6b4df43c07940b79f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f6170692f342e352e30)3.0`< 4.0`1[![OSS Lifecycle](https://camo.githubusercontent.com/cfbf2ba8a07176a9944e9ce7a52136e00b0da5837ac7e8bda83a0d900a2f7935/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c253246617069253246626c6f62253246332e302532464f53534d45544144415441)](https://camo.githubusercontent.com/cfbf2ba8a07176a9944e9ce7a52136e00b0da5837ac7e8bda83a0d900a2f7935/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c653f66696c655f75726c3d68747470732533412532462532466769746875622e636f6d253246646f746b65726e656c253246617069253246626c6f62253246332e302532464f53534d45544144415441)[![PHP from Packagist (specify version)](https://camo.githubusercontent.com/7f704465c2e6fc117115cd051bc1348d4a9e43481afd6140a7bb446da8aa6ca5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f6170692f332e302e34)](https://camo.githubusercontent.com/7f704465c2e6fc117115cd051bc1348d4a9e43481afd6140a7bb446da8aa6ca5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f646f746b65726e656c2f6170692f332e302e34)Badges
------

[](#badges)

[![OSS Lifecycle](https://camo.githubusercontent.com/f0baf79d70c895f503eb125110a4b54c428aad9c364a21f9dbe4db6c62c0ce9d/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c652f646f746b65726e656c2f617069)](https://camo.githubusercontent.com/f0baf79d70c895f503eb125110a4b54c428aad9c364a21f9dbe4db6c62c0ce9d/68747470733a2f2f696d672e736869656c64732e696f2f6f73736c6966656379636c652f646f746b65726e656c2f617069)[![Packagist Dependency Version](https://camo.githubusercontent.com/8f6e126714c2b077daa31edd3c148eb3d632203c2a6133faca0f84b7e86e14ac/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f646f746b65726e656c2f6170692f706870)](https://camo.githubusercontent.com/8f6e126714c2b077daa31edd3c148eb3d632203c2a6133faca0f84b7e86e14ac/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f646f746b65726e656c2f6170692f706870)

[![GitHub issues](https://camo.githubusercontent.com/7f6322c939852da16dbc600fb4294529938b8a30b5196a353e20536325cca73a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f646f746b65726e656c2f617069)](https://github.com/dotkernel/api/issues)[![GitHub forks](https://camo.githubusercontent.com/0c6c229496c0ee3a9caad9ea9dc09fa782f3b5cb33214577fc15422cd3090a2b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f646f746b65726e656c2f617069)](https://github.com/dotkernel/api/network)[![GitHub stars](https://camo.githubusercontent.com/bbbbc4a96ab6c0ad20a285cc4f4c96b30143ce008334838fc05de3a8156ef900/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f646f746b65726e656c2f617069)](https://github.com/dotkernel/api/stargazers)[![GitHub license](https://camo.githubusercontent.com/517c59ab76357c28908d5dc08415cc6c648cb6973fd2017ffc7c891b0a76391d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f646f746b65726e656c2f617069)](https://github.com/dotkernel/api/blob/6.0/LICENSE.md)

[![Build Static](https://github.com/dotkernel/api/actions/workflows/continuous-integration.yml/badge.svg?branch=7.0)](https://github.com/dotkernel/api/actions/workflows/continuous-integration.yml)[![codecov](https://camo.githubusercontent.com/0c41dab326eaa1d91d20b15d6198e1b6e17ccb54f14bffd3ea38e23b8ef2a85f/68747470733a2f2f636f6465636f762e696f2f67682f646f746b65726e656c2f6170692f67726170682f62616467652e7376673f746f6b656e3d3533464e37384735434b)](https://codecov.io/gh/dotkernel/api)[![Qodana](https://github.com/dotkernel/api/actions/workflows/qodana_code_quality.yml/badge.svg?branch=7.0)](https://github.com/dotkernel/api/actions/workflows/qodana_code_quality.yml)[![PHPStan](https://github.com/dotkernel/api/actions/workflows/static-analysis.yml/badge.svg?branch=7.0)](https://github.com/dotkernel/api/actions/workflows/static-analysis.yml)

Getting Started
---------------

[](#getting-started)

### Clone the project

[](#clone-the-project)

Using your terminal, navigate inside the directory you want to download the project files into. Make sure that the directory is empty before proceeding to the download process. Once there, run the following command:

```
git clone https://github.com/dotkernel/api.git .
```

### Install the project dependencies

[](#install-the-project-dependencies)

```
composer install
```

### Development mode

[](#development-mode)

> **Do not enable development mode in production!**

If you're installing the project for development, you should **enable** development mode by running:

```
composer development-enable
```

You can **disable** development mode by running:

```
composer development-disable
```

You can **check** the development status by running:

```
composer development-status
```

### Prepare config files

[](#prepare-config-files)

- duplicate `config/autoload/cors.local.php.dist` as `config/autoload/cors.local.php` &lt;- if your API is consumed by another application, make sure configure the `allowed_origins`
- duplicate `config/autoload/local.php.dist` as `config/autoload/local.php`
- **optional**: to run/create tests, duplicate `config/autoload/local.test.php.dist` as `config/autoload/local.test.php` &lt;- this creates a new in-memory database that your tests will run on

### Setup database

[](#setup-database)

Use an existing empty one or create a new **MariaDB**/**MySQL** database.

> Recommended collation: `utf8mb4_general_ci`.

With a database created, fill out the database connection params in `config/autoload/local.php` under `$databases['default']`.

#### Creating migrations

[](#creating-migrations)

Create a new migration by running:

```
php ./vendor/bin/doctrine-migrations diff
```

The new migration file will be placed in `src/Core/src/App/src/Migration/`.

#### Running migrations

[](#running-migrations)

Execute a new migration by running:

```
php ./vendor/bin/doctrine-migrations migrate
```

This command will prompt you to confirm that you want to run it:

> WARNING! You are about to execute a migration in database "``" that could result in schema changes and data loss. Are you sure you wish to continue? (yes/no) \[yes\]:

Hit `Enter` to confirm the operation.

#### Executing fixtures

[](#executing-fixtures)

Fixtures are used to seed the database with initial values and must be executed after migrating the database.

To list all the fixtures, run:

```
php ./bin/doctrine fixtures:list
```

This will output all the fixtures in the order of execution.

To execute all fixtures, run:

```
php ./bin/doctrine fixtures:execute
```

To execute a specific fixture, run:

```
php ./bin/doctrine fixtures:execute --class=FixtureClassName
```

More details on how fixtures work can be found in `dotkernel/dot-data-fixtures` [documentation](https://github.com/dotkernel/dot-data-fixtures#creating-fixtures).

### Mail configuration

[](#mail-configuration)

If your application sends emails, you must configure an outgoing mail server under `config/autoload/mail.global.php`.

### Test the installation

[](#test-the-installation)

Run the following command in your project's directory to start PHPs built-in server:

```
php -S 0.0.0.0:8080 -t public
```

> Running command `composer serve` will do the same thing, but the server will time out after a couple of minutes.

Sending a **GET** request to the application's [home page](http://localhost:8080/) should output the following message:

```
{
    "message": "Dotkernel API version 7"
}
```

###  Health Score

57

—

FairBetter than 98% of packages

Maintenance75

Regular maintenance activity

Popularity26

Limited adoption so far

Community23

Small or concentrated contributor base

Maturity89

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

Recently: every ~53 days

Total

31

Last Release

7d ago

Major Versions

5.3.0 → 6.0.02025-06-05

3.0.x-dev → 7.0.02025-11-26

4.0.x-dev → 5.0.x-dev2025-12-01

5.0.x-dev → 6.0.x-dev2026-01-15

6.0.x-dev → 7.0.x-dev2026-06-27

PHP version history (8 changes)v1.0.0PHP ^7.2

1.1.0PHP ^7.4

3.0.3PHP ~7.4.0 || ~8.0.0 || ~8.1.0

4.0.0PHP ~8.0.0 || ~8.1.0 || ~8.2.0

4.1.0PHP ~8.1.0 || ~8.2.0

4.3.0PHP ~8.2.0 || ~8.3.0

6.1.0PHP ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0

7.0.x-devPHP ~8.3.0 || ~8.4.0 || ~8.5.0

### Community

Maintainers

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

---

Top Contributors

[![alexmerlin](https://avatars.githubusercontent.com/u/4542449?v=4)](https://github.com/alexmerlin "alexmerlin (235 commits)")[![marioradu05](https://avatars.githubusercontent.com/u/10761919?v=4)](https://github.com/marioradu05 "marioradu05 (227 commits)")[![arhimede](https://avatars.githubusercontent.com/u/22009710?v=4)](https://github.com/arhimede "arhimede (192 commits)")[![bidi47](https://avatars.githubusercontent.com/u/27284979?v=4)](https://github.com/bidi47 "bidi47 (22 commits)")[![claurospace](https://avatars.githubusercontent.com/u/224870609?v=4)](https://github.com/claurospace "claurospace (14 commits)")[![SergiuBota1](https://avatars.githubusercontent.com/u/50962867?v=4)](https://github.com/SergiuBota1 "SergiuBota1 (6 commits)")[![pinclau](https://avatars.githubusercontent.com/u/24491812?v=4)](https://github.com/pinclau "pinclau (5 commits)")[![alexmerlin1985](https://avatars.githubusercontent.com/u/35529794?v=4)](https://github.com/alexmerlin1985 "alexmerlin1985 (4 commits)")[![OnitaAndrei](https://avatars.githubusercontent.com/u/57144858?v=4)](https://github.com/OnitaAndrei "OnitaAndrei (3 commits)")[![Howriq](https://avatars.githubusercontent.com/u/63609103?v=4)](https://github.com/Howriq "Howriq (3 commits)")[![dq042000](https://avatars.githubusercontent.com/u/7939291?v=4)](https://github.com/dq042000 "dq042000 (2 commits)")[![Calin23](https://avatars.githubusercontent.com/u/51288903?v=4)](https://github.com/Calin23 "Calin23 (2 commits)")[![renovate[bot]](https://avatars.githubusercontent.com/in/2740?v=4)](https://github.com/renovate[bot] "renovate[bot] (1 commits)")

---

Tags

headlessheadless-platformlaminasmezziomezzio-api-skeletonpsr-11psr-15psr-7rest-apirestful-apiapilaminasrestmezzioREST API

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

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

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

###  Alternatives

[shlinkio/shlink

A self-hosted and PHP-based URL shortener application with CLI and REST interfaces

5.1k5.2k](/packages/shlinkio-shlink)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.9M738](/packages/sylius-sylius)[shopware/platform

The Shopware e-commerce core

3.4k1.5M3](/packages/shopware-platform)[mezzio/mezzio-skeleton

Laminas mezzio skeleton. Begin developing PSR-15 middleware applications in seconds!

12926.6k](/packages/mezzio-mezzio-skeleton)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M574](/packages/shopware-core)[api-platform/openapi

Models to build and serialize an OpenAPI specification.

404.8M94](/packages/api-platform-openapi)

PHPackages © 2026

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