22
33Dotkernel Light is the smallest complete Mezzio application — a PSR-15 pipeline, routing and templating, with nothing to strip out.
44A real starting point for a simple site.
5- Underneath it uses Laminas Service Manager as the PSR-11 container and Laminas Diactoros for PSR-7 messages, with FastRoute for routing and Twig for templating.
65
76> Check out our [ demo] ( https://light.dotkernel.net/ ) .
87
9- ## Documentation
10-
11- Documentation is available at: https://docs.dotkernel.org/light-documentation/
12-
138## Badges
149
1510![ OSS Lifecycle] ( https://img.shields.io/osslifecycle/dotkernel/light )
@@ -28,8 +23,41 @@ Documentation is available at: https://docs.dotkernel.org/light-documentation/
2823[ ![ PHPStan] ( https://github.com/dotkernel/light/actions/workflows/static-analysis.yml/badge.svg?branch=1.0 )] ( https://github.com/dotkernel/light/actions/workflows/static-analysis.yml )
2924![ PHPstan Level] ( https://img.shields.io/badge/PHPStan-level%208-brightgreen )
3025
26+ ## What's Inside
27+
28+ Light is built on [ Mezzio] ( https://docs.mezzio.dev/mezzio/ ) and Laminas components, around the PSR standards:
29+
30+ | Concern | Standard | Implementation |
31+ | --- | --- | --- |
32+ | Containers | [ PSR-11] ( https://github.com/php-fig/container ) | [ Laminas Service Manager] ( https://github.com/laminas/laminas-servicemanager ) |
33+ | HTTP messages | [ PSR-7] ( https://github.com/php-fig/http-message ) | [ Laminas Diactoros] ( https://github.com/laminas/laminas-diactoros ) |
34+ | Middleware pipeline | [ PSR-15] ( https://github.com/php-fig/http-server-middleware ) | Mezzio |
35+ | Routing | — | [ FastRoute] ( https://github.com/nikic/FastRoute ) |
36+ | Templating | — | [ Twig] ( https://twig.symfony.com/ ) , through [ Mezzio TwigRenderer] ( https://github.com/mezzio/mezzio-twigrenderer ) |
37+
38+ Two Dotkernel components are registered out of the box in [ ` config/config.php ` ] ( config/config.php ) :
39+
40+ - [ dot-log] ( https://github.com/dotkernel/dot-log ) — generic logging component
41+ - [ dot-errorhandler] ( https://github.com/dotkernel/dot-errorhandler ) — error logging component
42+
43+ ## The Dotkernel Family
44+
45+ Dotkernel is a collection of open-source PHP application skeletons built on Mezzio and Laminas, which can be adopted separately or together:
46+
47+ - [ API] ( https://github.com/dotkernel/api ) — REST APIs on a readable PSR-15 middleware pipeline
48+ - [ Admin] ( https://github.com/dotkernel/admin ) — table-based backend for managing platform records, plus tools to build reports and dashboards
49+ - [ Queue] ( https://github.com/dotkernel/queue ) — background job processing for the platform
50+ - [ Frontend] ( https://github.com/dotkernel/frontend ) — web starter package for frontend applications
51+ - ** Light** — this repository, for the simplest use cases
52+
53+ ## Documentation
54+
55+ Documentation is available at: https://docs.dotkernel.org/light-documentation/
56+
3157## Contents
3258
59+ - [ What's Inside] ( #whats-inside )
60+ - [ The Dotkernel Family] ( #the-dotkernel-family )
3361- [ Requirements] ( #requirements )
3462- [ Composer] ( #composer )
3563- [ Choosing an Installation Path] ( #choosing-an-installation-path )
@@ -39,6 +67,7 @@ Documentation is available at: https://docs.dotkernel.org/light-documentation/
3967- [ Running the Application] ( #running-the-application )
4068- [ Testing and Code Quality] ( #testing-and-code-quality )
4169- [ Going Live] ( #going-live )
70+ - [ Resources] ( #resources )
4271
4372## Requirements
4473
@@ -75,20 +104,14 @@ Example:
75104
76105After you choose the path for Dotkernel light (` dk ` will be used for the remainder of this example), let's move onto installation.
77106
78- Clone the repository into that path — git creates the directory for you :
107+ Composer creates the directory, installs the application with its dependencies, and enables development mode — all in one step :
79108
80109``` shell
81- git clone https://github.com/ dotkernel/light.git dk
110+ composer create-project dotkernel/light dk
82111cd dk
83112```
84113
85- This method ensures that the default branch is installed, even if it is not released.
86-
87- The dependencies have to be installed separately by running this command:
88-
89- ``` shell
90- composer install
91- ```
114+ ### Installation Prompts
92115
93116During installation, the ` laminas/laminas-component-installer ` Composer plugin prompts for some configuration settings, for example the lines below:
94117
@@ -131,6 +154,9 @@ It will also make sure that any existing config cache is cleared.
131154composer development-enable
132155` ` `
133156
157+ > ` composer create-project` already runs this for you, so you only need it after a ` composer development-disable` .
158+ > Run ` composer development-status` to check which mode you are in.
159+
134160# # Bundling Static Modules
135161
136162> Prerequisite software: Node.js ` ^20.19.0 || > =22.12.0`
@@ -215,3 +241,11 @@ Before deploying to production, rename the robots file and adjust it for your si
215241```shell
216242mv public/robots.txt.dist public/robots.txt
217243```
244+
245+ ## Resources
246+
247+ - [Documentation](https://docs.dotkernel.org/light-documentation/) — installation, request lifecycle, file structure and how-tos
248+ - [Changelog](CHANGELOG.md) — release history
249+ - [Security policy](SECURITY.md) — supported versions and how to report a vulnerability
250+ - [License](LICENSE) — MIT
251+ - [Issues](https://github.com/dotkernel/light/issues) — bug reports and feature requests
0 commit comments