# FendxPHP - 企业级轻量级 PHP 开发框架 > 🚀 轻量化 · 🔒 企业级 · ⚡ 高性能 · 🛠️ 易扩展 FendxPHP 是一个专为现代企业级应用设计的轻量级 PHP 开发框架,采用自研内核,提供完整的企业级特性。 ## ✨ 核心特性 ### 🏗️ 架构设计 - **五层分层架构**: 业务应用层 → 组件服务层 → 内核引擎层 → 基础支撑层 → 启动与容器层 - **模块化设计**: 8个核心模块,职责清晰,易于维护和扩展 - **注解驱动**: 全注解配置,约定大于配置 - **AOP支持**: 完整切面编程,支持事务、日志、权限等横切关注点 ### 🔧 核心功能 - **IOC容器**: 依赖注入、Bean管理、生命周期控制 - **路由系统**: 注解式路由、参数绑定、中间件支持 - **数据库**: ORM支持、多数据源、事务管理 - **缓存系统**: Redis缓存、本地缓存、防穿透/击穿/雪崩 - **安全认证**: JWT认证、RBAC权限、Token管理 - **日志系统**: TraceId追踪、异步日志、级别控制 ## 📁 项目结构 ``` FendxPHP/ ├── app/ # 业务应用层 │ ├── Controller/ # 控制器 │ ├── Service/ # 业务逻辑 │ ├── Dao/ # 数据访问 │ ├── Entity/ # 数据库实体 │ ├── Validate/ # 参数校验 │ ├── Vo/ # 展示对象 │ ├── Dto/ # 传输对象 │ ├── Job/ # 定时任务 │ └── Interceptor/ # 拦截器 ├── config/ # 配置文件 │ ├── app.php # 应用配置 │ ├── database.php # 数据库配置 │ ├── cache.php # 缓存配置 │ ├── config.php # 主配置文件 │ └── routes.php # 路由配置 ├── database/ # 数据库相关 │ ├── migrations/ # 数据库迁移 │ ├── seeds/ # 种子数据 │ └── init.sql # 初始化脚本 ├── docs/ # 文档目录 │ ├── 部署测试指南.md # 部署测试文档 │ ├── 快速测试指南.md # 快速测试指南 │ └── 分布式架构优化建议.md # 架构优化建议 ├── scripts/ # 脚本工具 │ ├── run-tests.sh # 自动化测试脚本 │ ├── check-database.php # 数据库检查脚本 │ ├── check-database.ps1 # PowerShell数据库检查 │ ├── test-database.ps1 # 简化版数据库检查 │ ├── check-docker-db.sh # Docker数据库检查 │ └── quick-db-check.php # 快速数据库检查 ├── tests/ # 测试目录 │ ├── Unit/ # 单元测试 │ ├── Integration/ # 集成测试 │ └── API/ # API测试 ├── public/ # Web入口 │ └── index.php # Web入口文件 ├── runtime/ # 运行时目录 │ ├── logs/ # 日志文件 │ ├── cache/ # 缓存文件 │ └── temp/ # 临时文件 ├── reports/ # 测试报告 ├── bin/ # 可执行文件 │ └── console # 控制台命令 ├── fendx-framework/ # 框架核心 │ ├── fendx-common/ # 公共组件 │ ├── fendx-core/ # 内核引擎 │ ├── fendx-web/ # Web组件 │ ├── fendx-db/ # 数据库组件 │ ├── fendx-cache/ # 缓存组件 │ ├── fendx-security/ # 安全组件 │ ├── fendx-log/ # 日志组件 │ ├── fendx-starter/ # 启动器 │ ├── fendx-service/ # 服务组件 │ └── fendx-observability/ # 可观测性组件 ├── docker-compose.test.yml # Docker测试环境 ├── docker-compose.yml # Docker生产环境 ├── fendx.sql # 完整数据库脚本 ├── phpunit.xml # PHPUnit配置 ├── fendx.php # CLI入口 ├── FendxPHP_项目架构.txt # 架构文档 └── README.md # 项目说明 ``` ## 🚀 快速开始 ### 环境要求 - PHP >= 8.1 - MySQL >= 5.7 或 MariaDB >= 10.2 - Redis >= 5.0 - Docker & Docker Compose (可选) - Composer ### 安装配置 1. 克隆项目 ```bash git clone cd FendxPHP ``` 2. 安装依赖 ```bash composer install ``` 3. 环境配置 ```bash cp .env.example .env # 编辑 .env 文件配置数据库和缓存信息 ``` 4. 数据库初始化 ```bash # 方法1: 使用完整SQL脚本 mysql -u root -p fendx_php < fendx.sql # 方法2: 使用迁移命令 php bin/console migrate:run php bin/console migrate:seed # 方法3: 使用数据库检查脚本 php scripts/check-database.php --fix ``` 5. 配置验证 ```bash # 检查数据库状态 php scripts/check-database.php # Windows PowerShell .\scripts\check-database.ps1 # Docker环境 ./scripts/check-docker-db.sh ``` ### 运行应用 Web服务: ```bash php -S localhost:8000 -t public ``` 访问 http://localhost:8000 查看应用。 CLI命令: ```bash php bin/console ``` ### Docker运行 ```bash # 启动完整环境 docker-compose up -d # 启动测试环境 docker-compose -f docker-compose.test.yml up -d # 查看服务状态 docker-compose ps ``` ## 💡 使用示例 ### 控制器示例 ```php []]); } } ``` ### 服务示例 ```php userDao->findAll(); } } ``` ## 🧪 测试 ### 运行测试 ```bash # 运行所有测试 ./scripts/run-tests.sh # Windows PowerShell .\scripts\run-tests.ps1 # 使用PHPUnit vendor/bin/phpunit # 使用控制台命令 php bin/console test:all ``` ### 测试类型 - **单元测试**: `php bin/console test:unit` - **集成测试**: `php bin/console test:integration` - **API测试**: `php bin/console test:api` - **性能测试**: `php bin/console test:performance` - **安全测试**: `php bin/console test:security` ### 覆盖率报告 ```bash # 生成覆盖率报告 php bin/console test:unit --coverage # 查看HTML报告 open reports/coverage/index.html ``` ## � 部署 ### 本地部署 ```bash # 检查环境 php bin/console deploy:local # 运行迁移 php bin/console migrate:run # 启动服务 php -S localhost:8000 -t public ``` ### Docker部署 ```bash # 构建镜像 docker build -t fendx-php . # 运行容器 docker-compose up -d # 查看日志 docker-compose logs -f ``` ### Kubernetes部署 ```bash # 部署到K8s kubectl apply -f k8s/ # 查看状态 kubectl get pods -l app=fendx-php ``` 详细部署指南请参考:[部署测试指南](docs/部署测试指南.md) ## 🔧 开发工具 ### 数据库工具 ```bash # 数据库检查 php scripts/check-database.php # 数据库修复 php scripts/check-database.php --fix # Windows PowerShell .\scripts\check-database.ps1 fix ``` ### 性能基准 ```bash # 运行基准测试 php bin/console benchmark:memory php bin/console benchmark:database php bin/console benchmark:cache ``` ## �📚 文档 - [📖 部署测试指南](docs/部署测试指南.md) - 完整的部署和测试文档 - [⚡ 快速测试指南](docs/快速测试指南.md) - 快速上手测试指南 - [🏗️ 分布式架构优化建议](docs/分布式架构优化建议.md) - 架构优化建议 - [📋 架构文档](FendxPHP_项目架构.txt) - 详细的架构设计文档 - [🔧 开发指南](docs/) - 开发规范和最佳实践 - [📡 API文档](docs/) - API接口文档 ## 🎯 默认账号 | 用户名 | 密码 | 角色 | 权限 | |--------|------|------|------| | admin | password | 超级管理员 | 所有权限 | | test_user | password | 普通用户 | 基础权限 | | developer | dev123 | 管理员 | 管理权限 | | moderator | mod123 | 版主 | 内容管理 | ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ### 开发规范 1. 遵循PSR-4自动加载标准 2. 编写单元测试 3. 更新相关文档 4. 通过所有CI检查 ## 📄 许可证 MIT License --- **作者**: Lawson **邮箱**: lawson@fendx.cn **版本**: 1.0.0 **更新**: 2024-01-15