https://github.com/imiphp/imi-project-tcp
这是一个 imi TCP 项目开发骨架项目,你可以基于这个项目来开发你的项目。
https://github.com/imiphp/imi-project-tcp
Last synced: 4 months ago
JSON representation
这是一个 imi TCP 项目开发骨架项目,你可以基于这个项目来开发你的项目。
- Host: GitHub
- URL: https://github.com/imiphp/imi-project-tcp
- Owner: imiphp
- Created: 2019-08-15T03:32:28.000Z (almost 7 years ago)
- Default Branch: 2.1
- Last Pushed: 2023-07-17T06:19:28.000Z (almost 3 years ago)
- Last Synced: 2025-10-23T20:59:28.410Z (7 months ago)
- Language: PHP
- Homepage: https://www.imiphp.com/
- Size: 29.3 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 说明
这是一个 imi TCP 项目开发骨架项目,你可以基于这个项目来开发你的项目。
imi 框架:
imi 文档:
## 安装
创建项目:`composer create-project imiphp/project-tcp:~2.1.0`
如果你希望在 Swoole 运行 imi:`composer require imiphp/imi-swoole:~2.1.0`
## 配置
### 项目命名空间
默认是 `ImiApp`,可以在 `composer.json` 中修改:
* `autoload.psr-4.ImiApp`
* `imi.namespace`
然后替换代码中的命名空间即可。
### 运行配置
项目配置目录:`config`
TCP 服务器配置目录:`TCPServer/config`
## 启动命令
Swoole:`vendor/bin/imi-swoole swoole/start`
Workerman:`vendor/bin/imi-workerman workerman/start`
## 权限
`.runtime` 目录需要有可写权限
## 测试客户端
`test-client` 目录中附带了测试客户端,可以用于测试。
## 生产环境
**关闭热更新:**`config/beans.php` 中 `hotUpdate.status` 设为 `false`
生产环境建议只保留一个容器,可以提升性能,imi 官方推荐使用 **Swoole**!
**移除 `imi-workerman`:**`composer remove imiphp/imi-workerman`
**移除 `imi-swoole`:**`composer remove imiphp/imi-swoole`(不推荐)
## 代码质量
### 格式化代码
内置 `php-cs-fixer`,统一代码风格。
配置文件 `.php-cs-fixer.php`,可根据自己实际需要进行配置,文档:
**格式化项目:** `./vendor/bin/php-cs-fixer fix`
**格式化指定文件:** `./vendor/bin/php-cs-fixer fix test.php`
### 代码静态分析
内置 `phpstan`,可规范代码,排查出一些隐藏问题。
配置文件 `phpstan.neon`,可根据自己实际需要进行配置,文档:
**分析项目:** `./vendor/bin/phpstan`
**分析指定文件:** `./vendor/bin/phpstan test.php`
### 测试用例
内置 `phpunit`,可以实现自动化测试。
**文档:**
**测试用例 demo:**`tests/Module/Test/TestServiceTest.php`
**运行测试用例:**`composer test`