waryway / micro-service-engine
ReactPHP server for use in micro-service applications
Installs: 667
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 1
Open Issues: 0
Type:application
Requires
- nikic/fast-route: 1.2.0
- react/http: 1.2.0
- waryway/php-traits-library: 1.0.4
Requires (Dev)
- phpunit/phpunit: ^8
Suggests
- lcobucci/jwt: Can be used for JWT authentication mechanisms
README
Base Service using ReactPHP for PHP only Microservices
Status
Description
Use this microservice engine to power you microservice! It is an extensible router / server base for ReactPHP. It provides an extremely light weight server and router combo.
The closest comparison I can think of, is express for nodejs. Only, this uses PHP!
Usage
Rough steps to getting this up an running. Example coming soon!
- Create your new PHP microservice application
- Make sure it is PSR-4!
- Add a
Router
class at the base namespace. - The namespace should be something like... <project>
- Run
composer update
- 'composer require waryway/micro-service-engine'
- From the root directory of you new project, simply run:
vendor\bin\server.bat <company>\<project> 0.0.0.0:99
- or for linux:
./vendor/bin/server <company>/<project> 0.0.0.0:99
You can also run vendor\bin\server.bat -h
for further information.
Router setup
Make sure to extend the BaseRouter. More details to be added in the future!
Setting routes
The microservice engine is using the nikic/fast-route library. You can find path mapping information in the nikic/fast-route readme.
Example Routers
Example Application
https://github.com/Waryway/MicroServiceEngine/blob/master/example/Router.php
Internal Example
For this repository an example from within this this source code can be viewed by first running computer install
, then second, running :
php server Waryway\Example 0.0.0.0:89
You'll be able to visit localhost:89/index.html
and localhost:89/hi