myphps/my
Composer 安装命令:
composer create-project myphps/my
包简介
myphp框架
关键字:
README 文档
README
轻量级 PHP 框架,支持 Workerman / Swoole 常驻内存运行,适用于 Web 应用与 CLI 脚本开发。
环境要求
- PHP >= 8.1
- Composer
- 可选:Workerman(默认)或 Swoole 扩展
安装
composer create-project myphps/my
项目结构
├── app/ # 应用目录(控制器、模型、视图、配置)
│ ├── control/ # 控制器
│ ├── model/ # 模型
│ ├── view/ # 视图模板
│ ├── lang/ # 多语言
│ └── config.php # 应用配置(含权限认证配置)
├── common/ # 公共库(中间件、工具类)
├── web/ # Web 入口及静态资源
├── dist/ # 打包输出目录
├── build/ # 可执行文件构建输出
├── log/ # 日志目录
├── runtime/ # 运行时临时目录
├── conf.php # 全局配置(数据库、Redis、中间件等)
├── conf.local.php # 本地配置覆盖(不提交到仓库)
├── app.conf.php # 服务配置(端口、进程数等)
├── app.conf.local.php # 本地服务配置覆盖
├── app.php # 常驻内存服务入口
├── cli.php # CLI 脚本入口(Model生成、Phar打包、队列等)
├── my # CLI 模式下请求执行入口(Linux/macOS)
├── my.bat # CLI 模式下请求执行入口(Windows)
└── composer.json
快速开始
创建应用
# 初始化默认应用 php my --init # 初始化指定应用目录 php my --run=应用目录名 --init
生成数据表 Model
# 生成所有表的 Model php cli.php Model 1 "common\model" "\common\CommonModel" # 生成指定表的 Model php cli.php Model 表名 "common\model" "\common\CommonModel" # 生成多张表(逗号分隔) php cli.php Model "table1,table2" "common\model" "\common\CommonModel"
参数说明:
- 参数1:表名(
1表示全部表,支持逗号分隔多表) - 参数2:命名空间(默认
common\model) - 参数3:基类(默认
\myphp\Model) - 参数4:数据库配置名(默认
db)
可创建
.table-ignore文件,每行一个表名,用于全库生成时忽略指定表。
CLI 执行请求
# 执行控制器方法 php my [--run=应用目录] [模块/]控制器/方法 ["参数1=值1&参数2=值2"]
常驻内存运行
支持 Workerman(默认)和 Swoole 两种运行模式:
# 默认 Workerman 运行 php app.php # 指定参数运行 php app.php -p 6051 -c 8 # Swoole 模式运行 php app.php -s # 调试模式运行 php app.php --console # 重启 / 平滑重载 / 停止 php app.php restart php app.php reload php app.php stop
启动参数:
| 参数 | 长参数 | 说明 | 示例 |
|---|---|---|---|
-h |
--help |
显示帮助 | |
-l |
--listen |
监听 IP | -l 0.0.0.0 |
-p |
--port |
监听端口 | -p 6051 |
-c |
--count |
进程数量 | -c 8 |
-n |
--name |
进程名 | -n myApp |
-u |
--user |
运行用户 | -u www-data |
-s |
--swoole |
Swoole 模式 |
服务类型配置(app.conf.php):
支持 http、websocket、tcp、udp 类型,Swoole 的 websocket 同时支持 HTTP 请求。
队列处理
基于 Redis 的简易异步队列,支持延迟入列:
# 手动执行队列 php cli.php Queue # 配合 crontab 定时执行(每分钟启动,内部按间隔循环60秒) # queue.sh 参数:操作名 间隔秒数(默认2) 最大并发进程数(默认5) * * * * * cd /项目路径 && /usr/bin/sh ./queue.sh Queue 2 * * * * * cd /项目路径 && /usr/bin/sh ./queue.sh ClearTmp
Windows 环境可使用
php cmd.php替代 crontab 进行队列处理。
打包部署
生成 Phar 包
# 生成 phar 文件到 dist/ 目录 php cli.php phar # 如提示 phar.readonly 限制,使用: php -d phar.readonly=0 cli.php phar # 运行 phar php my.phar
打包后 dist/ 目录包含完整的可部署文件(phar、配置模板、入口文件等)。
生成可执行文件
使用 phpacker 将 phar 打包为独立可执行文件,支持 Linux / macOS / Windows 跨平台构建:
# 构建(默认 PHP 8.4) phpacker build # 指定 PHP 版本 phpacker build --php=8.2 # 使用 upx 压缩体积 upx build/my
配置说明
全局配置 conf.php
$cfg = [ 'db' => [...], // 数据库连接(支持 mysql/sqlite/pgsql/mssql/oracle) 'redis' => [...], // Redis 连接 'log_dir' => '...', // 日志目录 'log_level' => 0, // 日志级别 0-5 'encode_key' => '...', // 数据编码密钥 'jwt_key' => '...', // JWT 密钥 'middleware' => [...], // 中间件配置 'url_maps' => [...], // URL 映射 'module_maps' => [...], // 模块映射 ];
敏感配置请放在
conf.local.php中覆盖,避免提交到版本库。
服务配置 app.conf.php
return [ 'name' => 'myApp', // 服务名 'ip' => '0.0.0.0', // 监听地址 'port' => 6051, // 监听端口 'type' => 'http', // 类型:http/websocket/tcp/udp 'setting' => [ 'count' => 8, // 进程数(建议 CPU 核数 × 1~4) 'static_path' => '', // 静态文件目录(Workerman) ], ];
Web 传统模式
除常驻内存外,也支持 Nginx/Apache 传统方式运行,将 web/ 设为网站根目录即可:
server { listen 80; root /项目路径/web; index index.php; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
常用扩展包
# 二维码 composer require endroid/qr-code # JWT composer require firebase/php-jwt # Excel composer require box/spout composer require myphps/phpexcel # 微信 composer require overtrue/wechat:~5.0 composer require symfony/cache-contracts:2.5.0
代码质量
# 安装工具 composer require --dev phpstan/phpstan composer require --dev friendsofphp/php-cs-fixer # 代码格式化 php-cs-fixer fix --config=./.php-cs-fixer.dist.php # 静态分析 phpstan analyse -c ./phpstan.neon.dist --memory-limit 1G
许可证
myphps/my 适用场景与选型建议
myphps/my 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 30 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 11 月 14 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「myphp」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 myphps/my 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 myphps/my 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 myphps/my 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
统计信息
- 总下载量: 30
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-11-14