reactive-apps / skeleton
Reactive Apps Skeleton
Requires
- php: ^7.3
- brunty/cigar: ^1.11
- php-di-definitions/react-event-loop-inspected: dev-master
- php-di-definitions/twig: dev-master
- reactive-apps/app: dev-master
- reactive-apps/command-bunny-consumer: dev-master
- reactive-apps/command-http-server: dev-master
- reactive-apps/command-metrics: dev-master
- reactive-apps/command-supervisor: dev-master
- roave/security-advisories: dev-master
- vlucas/phpdotenv: ^4.0
- wyrihaximus/react-http-middleware-measure: dev-master
- wyrihaximus/react-http-middleware-with-headers: ^1.0
- wyrihaximus/react-inspector-child-process-pools: dev-master
- wyrihaximus/react-inspector-cpu-usage: dev-master
- wyrihaximus/react-inspector-http-middleware-measure: dev-master
- wyrihaximus/react-inspector-memory-usage: dev-master
Requires (Dev)
- api-clients/test-utilities: ^5.0
- seregazhuk/php-watcher: ^0.5.2
This package is auto-updated.
Last update: 2024-08-29 05:00:27 UTC
README
基于此骨架创建新项目
以下命令将在 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 服务器运行此应用程序 Grafana
在localhost: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
本软件及其相关文档文件(以下简称“软件”)的使用权已授权,免费提供给任何获得本软件副本的个人,可不受限制地使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许获得软件的个人进行此类操作,但须遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该索赔、损害或其他责任是基于合同行为、侵权行为或其他方式,无论是由于软件本身、软件的使用或其他与软件相关的行为引起的。