承接 myphps/my 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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):

支持 httpwebsockettcpudp 类型,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

许可证

MIT

myphps/my 适用场景与选型建议

myphps/my 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 30 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 11 月 14 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「myphp」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 myphps/my 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 myphps/my 我们能提供哪些服务?
定制开发 / 二次开发

基于 myphps/my 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

与 myphps/my 相关的其它包

同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:

统计信息

  • 总下载量: 30
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-11-14