Download the PHP package meezaan/microservice-template without Composer
On this page you can find all versions of the php package meezaan/microservice-template. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package microservice-template
Introduction
This is PHP 7 based microservice template that can greatly speed up building of microservices.
Technology Stack
- PHP 7.1
- MySQL 5.7 / PerconaDB 5.7
- Memcached
- Slim Framework v3
How to use it
This is effectively a starter template. You can make changes in the src and the routes folder and have your microservice up and running in a few minutes (depending on what you're trying to do, of course).
Understanding the Structure
The template uses a variety of composer packages. The list is available in composer.json. Many of these are optional - look in src/Model to see which ones may be used.
The src Folder
This starts with namespace definition. The example has a namespace called Book. Inside our namespace, we have:
- Entities - These are Doctrine entities - we're using Doctrine as an ORM here - so you can create and manage your schema with these.
- Models - These contain any business logic you need to apply incoming our outgoing data.
- Helpers - Any generic classes to help you do stuff can go here - if you're not using any third party composer packages.
The routes folder
This contains your microservice routes. It comes with versioned folders and the file within is self explanatory. We don't have controllers on purpose - they make you think like a monolith. A routes file will likely force you into a microservice mindset.
Create a Project with this template
Run:
Other stuff - the below documentation is not yet complete. Stay tuned.
This template comes packaged with several different tools (via composer). Using all of them is optional. You can choose to use them or remove them as you wish. You can even add your own. Below are some useful commands and links to documentation for the tools used:
- Doctrine (ORM and DBAL) - http://www.doctrine-project.org/projects/orm.html
- ApiGen (PHP Documentation) - https://github.com/ApiGen/ApiGen
- MicroService Helper - https://github.com/meezaan/microservice-helper
- PHP Unit - https://phpunit.de/
- Mockery for PHP Unit - http://docs.mockery.io/en/latest/
- Behat and Mink - http://behat.org/en/latest/ and http://mink.behat.org/en/latest/
- PHP CodeSiffer - https://github.com/squizlabs/PHP_CodeSniffer
- PHP Mess Detector - https://phpmd.org/
- Slim Basic Auth
- Slim JWT Auth
- Slim Validation
- ApiDocJS - A Javascript / nodejs based tool to generate pretty API Documentation - http://apidocjs.com/
See composer.json to add / remove packages as you need them.
Doctrine
Generate Entities (getters and setters)
Generate Proxies
Update
Create
Behat
PHPUnit
PHP Mess Detector
Run the following to see your options and run a report
PHP Code Sinffer
To see issues:
To autofix per PSR-2:
Generate PHP docs
ApiDocJS API Documentation
This requires . To install:
To run:
To Do
Add docs about artifacts produced.
All versions of microservice-template with dependencies
monolog/monolog Version ~1.17
doctrine/dbal Version v2.5.13
doctrine/orm Version v2.5.14
guzzlehttp/guzzle Version ^6.1
slim/slim Version ^3.9
symfony/yaml Version ^3.3
tuupola/slim-jwt-auth Version ^2.2
tuupola/slim-basic-auth Version ^2.2
slim/http-cache Version 0.4.0
meezaan/microservice-helper Version dev-master
davidepastore/slim-validation Version ^0.5.0