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