reactive-apps/skeleton

Reactive Apps Skeleton


README

Build Status Latest Stable Version Total Downloads Code Coverage License PHP 7 ready

基于此骨架创建新项目

以下命令将在 your-project-name 目录中创建基于此骨架的新项目:

composer create reactive-apps/skeleton your-project-name

开始之前

.env.example 复制到 .env 并根据需要调整。确保 REACT_HTTP_SOCKET_ADDRESS 的端口号与 cigar.json 中的端口号匹配。

用法

此骨架包含一系列 make 命令,以简化 QA 和开发。运行 make 将执行完整的 QA 运行,包括 linting代码风格检查单元测试smoke testing

这是一个基于命令行的工具,内置了 HTTP 服务器。运行 ./app 将列出可用的命令。例如,运行 ./app http-server 将启动服务器。还可以同时运行多个命令,例如以下命令运行 HTTP 服务器、指标收集和内部 cron(后两个默认不包括):./app multi metrics cron http-server

Docker Compose

或者可以使用 make dev,这将使用 docker-compose 启动完整的开发环境,包括

  • 使用 localhost:54321(在非 Linux 平台上可能不同)上的 HTTP 服务器运行此应用程序
  • Grafanalocalhost:3000 上,用户名/密码为 admin/admin,用于应用程序、系统和服务的指标
  • Graphite / InfluxDB 用于指标存储,并将它们馈送到 Grafana
  • Telegraf 收集指标并将它们推送到 Graphite / InfluxDB
  • RabbitMQ 用于应用程序中的消息消费者,但也用于从应用程序获取指标到 Telegraf

日志记录

默认情况下,应用程序附带 Monolog 用于日志记录和 STDOUT 日志记录,用于将彩色日志输出到命令行。可以在 etc/config/logger.php 配置文件中配置任何附加的处理程序和处理器。相邻的 http-server.php 还展示了如何与 DI 一起使用。

HTTP 服务器

HTTP 服务器命令通过查看 composer.json 来查找配置的控制器并设置这些控制器以处理传入的请求。控制器可以是静态的也可以是实例化的。后者在需要执行更多操作而无需注入依赖项时非常有用。配置是通过允许的 HTTP 方法和路由的注解来完成的。有关 HTTP 服务器的文档,请参阅 此处

许可证

MIT 许可证 (MIT)

版权所有 © 2019 Cees-Jan Kiewiet

本软件及其相关文档文件(以下简称“软件”)的使用权已授权,免费提供给任何获得本软件副本的个人,可不受限制地使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许获得软件的个人进行此类操作,但须遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该索赔、损害或其他责任是基于合同行为、侵权行为或其他方式,无论是由于软件本身、软件的使用或其他与软件相关的行为引起的。