meezaan/microservice-template

此包已被弃用且不再维护。未建议替代包。
最新版本(v0.1.2)的此包没有可用的许可证信息。

PHP 微服务模板

v0.1.2 2018-02-16 17:10 UTC

This package is auto-updated.

Last update: 2020-08-15 18:48:51 UTC


README

CircleCI

简介

这是一个基于PHP 7的微服务模板,可以大大加快微服务的构建。

技术栈

  • PHP 7.1
  • MySQL 5.7 / PerconaDB 5.7
  • Memcached
  • Slim Framework v3

如何使用它

这是一个有效的启动模板。您可以在src和routes文件夹中进行更改,并在几分钟内(当然,取决于您要做什么)让您的微服务运行起来。

理解结构

模板使用多种composer包。列表可在composer.json中找到。其中许多是可选的 - 在src/Model中查看哪些可能被使用。

src文件夹

这从命名空间定义开始。示例有一个名为Book的命名空间。在我们的命名空间内,我们有

  1. 实体 - 这些是Doctrine实体 - 我们在这里使用Doctrine作为ORM,因此您可以使用它们创建和管理您的模式。
  2. 模型 - 这些包含任何需要应用于传入或传出数据的业务逻辑。
  3. 助手 - 任何有助于您做事情的通用类可以放在这里 - 如果您没有使用任何第三方composer包。

routes文件夹

这包含您的微服务路由。它包含版本化的文件夹,文件内容是自我解释的。我们故意没有控制器 - 它们使您像单体一样思考。一个路由文件可能会迫使您进入微服务思维模式。

使用此模板创建项目

运行

composer create-project --stability dev meezaan/microservice-template project-name

其他内容 - 以下文档尚未完成。请保持关注。

此模板包含几种不同的工具(通过composer)。使用所有这些是可选的。您可以选择使用它们或按需删除它们。您甚至可以添加自己的。以下是用于工具的一些有用命令和文档链接

查看composer.json以添加/删除所需的包。

Doctrine

生成实体(获取器和设置器) vendor/bin/doctrine orm:generate-entities src/

生成代理vendor/bin/doctrine orm:generate-proxies

更新 vendor/bin/doctrine orm:schema-tool:update

创建 vendor/bin/doctrine orm:schema-tool:create

Behat

vendor/bin/behat -dl

PHPUnit

vendor/bin/phpunit

PHP Mess Detector

运行以下命令以查看选项并运行报告

vendor/bin/phpmd src/

PHP Code Sinffer

查看问题

vendor/bin/phpcs src/

自动修复PSR-2

vendor/bin/phpcbf src/

生成PHP文档

vendor/bin/apigen generate src/ --destination docs/php

ApiDocJS API文档

这需要npm。要安装

npm install apidoc -g

运行

apidoc -i routes/ -o docs/api/

待办事项

添加关于生成的文档的说明。

Feature Toggling / flagging