Simple PHP framework based on Symfony

v1.08 2021-04-13 15:41 UTC

This package is auto-updated.

Last update: 2024-04-24 15:40:56 UTC


README

Deprecated

This package is unmaintained. The project is replaced by Swift.

Intro

This is a simple, fast and basic PHP framework meant to write API's or simple programs in a fast and easy way. This is a not meant as a replacement for other frameworks, under the hood it uses a lot of the magic from Symfony, Dibi, Unirest, Monolog and Firebase.

Get it from Composer https://packagist.org/packages/henrivantsant/henri.

composer require henrivantsant/henri

Purpose

This framework is not intended for building websites or big applications. The purpose of this framework is to provide a simple set of basic tools to build simple services, like:

  • Simple webservice
  • API proxy to bundle several APIs endpoints into one
  • Data caching layer
  • API endpoint for React/Vue front-ends
  • Logging service
  • CDN

Table of contents

  1. Routing
    1. Controllers
    2. Route annotation
    3. Responses
    4. Exceptions
    5. Hooking in to the router (route events)
  2. Dependency Injection
    1. How to inject
  3. Configuration
    1. Basic setup
    2. Configuration scopes
    3. Reading the configuration
    4. Writing the configuration
  4. Database handling
    1. Database layer
    2. Entities
    3. Entity Manager
    4. Entity Manager List
    5. Command line interface
  5. Making (curl) requests
    1. Request service
  6. Command Line
    1. Setup
    2. Default commands
    3. Create your own commands
  7. Annotations
    1. What & why annotations
    2. How use your own annotations
  8. Events & subscribers
    1. Default system events
    2. How to subscribe to events
    3. How to create your own events
    4. Dispatch events
  9. Logging (Monolog)
    1. Native logging
    2. Configuration
    3. Ways of logging
    4. Use your logger
  10. Authentication
    1. Authentication levels
    2. API Key
    3. JWT
    4. User logins
    5. Add your level and/or authentication
  11. Users
    1. User management
    2. Create a user
    3. Update user
    4. User authentication
  12. GraphQL
  13. What's next!
    1. Native logging interface (status: in development)
    2. Out of the box GraphQL support (status: expected early 2021)
    3. Support websockets
    4. PHP8 Compatibility (status: expected early 2021)
    5. Overriding framework classes by setting preferences to the container (status: no expection yet)
    6. Influence DI behaviour using Annotations (status: no expectation yet)
    7. Default annotation reading service with PHP8 Annotations support (status: no expectation yet)
    8. Support websockets