kuick/framework

Kuick is an extremely low footprint application framework, suitable for high throughput workloads


README

Latest Version PHP Total Downloads CI codecov Software License

Kuick is an extremely low footprint PHP application framework. Designed for developers seeking speed, efficiency, and flexibility in web application development.

Key features

  1. Logging realized with PSR-3 Logger Interface implementation
  2. Integrated PSR-7 HTTP message interface
  3. PSR-11 Container
  4. Implemented Event Dispatcher compatible with PSR-14
  5. Request handling compatible with PSR-15
  6. PSR-16 Caching

Basic Usage

  1. Make sure you have PHP >= 8.2 and Composer installed on your system
  2. Require the framework to your project
composer require kuick/framework
  1. Run the installer
./vendor/bin/kuick-installer

Creating Kuick project

Convenient way to develop projects based on Kuick is to create a kuick/project with Composer.

  1. Follow those instructions: kuick/project

Docker Demo

Ready to deploy images you can find here: https://hub.docker.com/r/kuickphp/kuick/tags

  1. Run using Docker This example utilizes the smallest, Alpine distribution.
docker run -p 8080:80 kuickphp/kuick:alpine

Now you can try it out by opening http://localhost:8080/

  1. Examine sample routes:
  • Homepage:
curl http://localhost:8080/
  • Hello/ping:
curl http://localhost:8080/hello/John
  1. Container runtime configuration:
  • dev mode enabled
  • custom app name
  • custom localization (charset, locale, timezone)
  • DEBUG log with microtime
  • custom OPS API token
docker run -p 8080:80 \
    -e APP_ENV=dev \
    -e APP_NAME=ExampleApp \
    -e APP_CHARSET=UTF-8 \
    -e APP_LOCALE=en_US.utf-8 \
    -e APP_TIMEZONE="Europe/Warsaw" \
    -e APP_LOG_USEMICROSECONDS=1 \
    -e APP_LOG_LEVEL=DEBUG \
    -e API_SECURITY_OPS_GUARD_TOKEN=secret-token \
    kuickphp/kuick:alpine

OPS endpoint:

curl -H "Authorization: Bearer secret-token" http://localhost:8080/api/ops