Dotkernel API

PHP REST API application built on top of

Laminas Foundation Mezzio

Mezzio

Dotkernel API is an alternative for legacy Laminas API Tools (formerly Apigility) applications

An opinionated framework-less tool aimed at intermediate-to-advanced level programmers to start implementing REST APIs swiftly and efficiently.
Fine-tuned security

Fine-tuned security

Create users with varying levels of access to control what each user type can do with your REST API.

Long-term support

Long-term support

The REST API is backed by the Dotkernel team to stay on top of the latest coding trends.

 
Reusability

Reusability

We follow the coding principles of KISS, YAGNI, DRY for clean, concise and repetition-free code.

Gradual learning curve

Gradual learning curve

We have an ever-expanding documentation to help you with installation and usage. If you can't find a solution for your particular problem, feel free to drop us a line.

Packed with everything you need

Modern Technologies

Supports a Core submodule that can be used in multiple codebases for the same project

Do you need multiple codebases for the same project? You can expand the REST API to use a Core submodule that is also used by your frontend and admin platforms (also available from Dotkernel). This way you ensure there are no incompatibilities between your platforms. Any change is easily pushed to all of them to sync the latest updates.

Modern Technologies

Has an active team of experienced developers working on keeping the codebase up-to-date

We at Dotkernel have been working on our REST API for the past decade to bring you a stable, fast, reliable solution for your needs. We have been using this REST API for our own projects and have ironed out all the kinks for you. Follow our quick tutorial and you are set. Visit our documentation pages for more details.

Modern Technologies

Has support for the latest PHP version 8.3

PHP is a popular programming language with a dedicated community that regularly delivers enhancements and refinements. PHP 8.3 puts emphasis on better performance, clean code and contains bug fixes as well as new features. Dotkernel subscribes to all standards recommendations (PSR) and keeps the REST API up-to-date with the latest version in all included 3rd party libraries.

Modern Technologies

Has been and always will be open source

The Dotkernel team monitors the code regularly to check for bugs and apply improvements. We welcome all feedback regarding our REST API from developers in the global PHP community.

Key Features

RESTful API

It’s a RESTful API, meaning it conforms to the constraints of representational state transfer (REST) architectural style.

OAuth2 Secured

It’s secured with OAuth2, a standard designed to allow the REST API to access resources on behalf of a user.

Postman Integration

It has integration with Postman, an API platform that simplifies each step of the REST API development lifecycle.

Generate Database Migrations

You can generate and run database migrations easily for fast deployment.

List Endpoints

You can quickly list all endpoints for a global review of the REST API with php ./bin/cli.php route:list

The best there is at what we do

 
Dotkernel
API First
 
 

Dotkernel API is API-first, so you don’t need to install additional packages for e.g. token authentication.

Code Control
 
 

Dotkernel API’s code architecture is structured in a way which helps developers that are still unfamiliar with it to understand where everything goes.

Request Management
 
 

Dotkernel API uses the ResponseInterface defined in PSR-7 which helps teams manage request/responses easier.

PHP Standardization
 
 

Dotkernel API is a collection of PSR-7 Middleware applications that implements these standards: PSR-3, PSR-4, PSR-11 and PSR-15. They are outlined by the PHP Framework Interop Group that aims to provide standardization of programming concepts in PHP.

Middleware Flow

The graph below demonstrates a default flow between Dotkernel's middlewares.

ErrorHandlerInterface
Request
Request
Response Response
Request Response
Other Middlewares (Optional)
Request
Request
Response Response
Request Response
CorsMiddleware
Request
Request
Response Response
Request Response
RouteMiddleware
Request
Request
Route
Response Response
Request Response
Other Middlewares (Optional)
Request
Request
Route
Response Response
Request Response
ContentNegotiationMiddleware
Request
Request
Route
Response Response
Request Response
ResponseHeaderMiddleware
Request
Request
Route
Response Response
Request Response
UrlHelperMiddleware
Request
Request
Route
Response Response
Request Response
AuthenticationMiddleware
Request
Request
Route
Response Response
Request Response
AuthorizationMiddleware
Request
Request
Route
Response Response
Request Response
DispatchMiddleware
Request
Request
Route
Response Response
Request Response
NotFoundHandler (Fallback)
Request
Request
Route
Response Response

Default Library Flow

The graph below demonstrates a default flow between Dotkernel's libraries.

Request
dotkernel/dot-errorhandler
mezzio/mezzio-cors
mezzio/mezzio-router
dotkernel/dot-response-header
mezzio/mezzio-helpers
mezzio/mezzio-authentication
mezzio/mezzio-authorization
mezzio/mezzio-router
laminas/laminas-diactoros - (NotFound)
dotkernel/dot-dependency-injection
doctrine/orm
mezzio/mezzio-hal
laminas/laminas-diactoros
psr/http-message
Response

Library Flow for Email

The graph below demonstrates the simplified flow between Dotkernel's libraries for sending an email.

Request
dotkernel/dot-errorhandler
mezzio/mezzio-cors
mezzio/mezzio-router
dotkernel/dot-response-header
mezzio/mezzio-helpers
mezzio/mezzio-authentication
mezzio/mezzio-authorization
mezzio/mezzio-router
laminas/laminas-diactoros - (NotFound)
dotkernel/dot-dependency-injection
doctrine/orm
dotkernel/dot-mail
mezzio/mezzio-hal
laminas/laminas-diactoros
psr/http-message
Response