From 9ff93e064e0731270cd5fdfd4f5f69b559fe6a4c Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Thu, 21 Aug 2025 08:47:11 +0000 Subject: [PATCH] Update README.md --- README.md | 188 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 168 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 9e7f6ff..1a4bc8a 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,175 @@ - ![输入图片说明](https://img.kancloud.cn/a0/3f/a03fbd0f272ec563a545ab568995c1eb_557x223.png "在这里输入图片标题") -**StartMVC** 是一款超轻量php7框架,面向对象开发,`小巧、优雅、高效`,遵循 Apache2 开源协议发布的,支持 Composer 和 RESTful 的 PHP 开源框架。 -StartMVC 能够帮助开发者以最小的学习成本快速构建 Web 应用,在满足开发者最基础的分层开发、数据库和缓存访问等少量功能基础上,做到尽可能精简,以帮助您的应用基于框架高效运行。 +# StartMVC -### 优势 +StartMVC 是一个超轻量级的 PHP7 框架,致力于提供高效、优雅且易于使用的开发体验。它支持 Composer、MVC 架构、RESTful API、数据库操作、缓存、路由分发等功能,适用于快速构建 Web 应用。 -- 轻量极致,可以高效地运行,打包后只有50k -- 完全支持Composer,代码遵循ps2,psr4规范,方便扩展第三方类库。 -- 官方免费提供常用的扩展类库下载,拿来即用。 -- 数据库采用PDO操作,支持多种数据库。 -- 支持多应用、扩展机制、路由分发、自动加载、RESTFul Api、缓存、MVC结构和依赖注入。。 -- 采用原生 php语法作为视图引擎,您不必再去学习模板语法!系统运行效率极大提高! -- 松耦合,执行效率更高。 -- 系统结构简洁,代码优雅规范。 -- 学习成本低,只要有一点php基码就可以迅速上手。 +--- -### 安装 -解压后上传到服务器项目目录下,就可以直接使用了。StartMVC支持主程序和WEB站点根目录分离。默认的站点根目录是public,请将域名绑定(指向)到public目录,访客无法访问到除public目录之外的文件,有更高的安全性。 +## 🌟 特性 -### composer安装 - composer create-project shaobingme/startmvc +- **极致轻量**:框架打包后仅约 50KB,高效运行。 +- **面向对象**:采用现代化的 MVC 架构,代码优雅且规范。 +- **灵活扩展**:支持 Composer 依赖管理,遵循 PSR-4 标准。 +- **多应用支持**:可以轻松构建多个模块化应用。 +- **数据库操作**:使用 PDO 进行数据库访问,支持多种数据库。 +- **缓存支持**:提供文件缓存和 Redis 缓存。 +- **RESTful API 支持**:支持构建 RESTful 风格的 API。 +- **依赖注入**:提供容器管理依赖注入。 +- **中间件支持**:支持中间件机制,灵活处理请求逻辑。 +- **视图引擎**:使用原生 PHP 语法作为视图引擎,无需学习模板语法。 +- **安全性**:支持 CSRF 防护、Session 管理、请求验证等安全机制。 +- **日志与调试**:提供日志记录、错误处理、Trace 调试等功能。 -### 官网 -http://www.startmvc.com -QQ群:231304282 (加群口令startmvc) +--- + +## 📦 安装方式 + +### 手动安装 +将项目解压后上传到服务器项目目录下,将域名绑定到 `public` 目录即可直接使用。 + +### Composer 安装 +```bash +composer create-project shaobingme/startmvc +``` + +--- + +## 🏗️ 项目结构 + +### 应用目录 + +- `app/admin/controller/`:后台控制器 +- `app/admin/view/`:后台视图文件 +- `app/home/controller/`:前台控制器 +- `app/home/model/`:模型文件 +- `app/home/view/`:前台视图文件 +- `app/middleware/`:中间件类 +- `app/common/`:公共类或基础控制器 +- `app/function/`:自定义函数 + +### 核心框架目录 + +- `startmvc/core/`:框架核心类(App、Router、Controller、Model �{...} +- `startmvc/core/cache/`:缓存驱动(File、Redis) +- `startmvc/core/db/`:数据库核心类(DbCore、DbCache、DbInterface) + +--- + +## 🧪 示例代码 + +### 控制器 (`app/home/controller/IndexController.php`) +```php +namespace app\home\controller; + +class IndexController extends BaseController +{ + public function indexAction() + { + $model = $this->model('TestModel'); + $data = $model->getData(); + $this->assign('data', $data); + $this->display(); + } +} +``` + +### 模型 (`app/home/model/TestModel.php`) +```php +namespace app\home\model; + +class TestModel extends Model +{ + protected $table = 'test_table'; + + public function getData() + { + return $this->find(['id' => 1]); + } +} +``` + +### 路由 (`config/route.php`) +```php +use startmvc\core\Router; + +Router::get('/', 'home/index/index'); +Router::post('/save', 'home/index/save'); +``` + +--- + +## 🧩 框架组件 + +### 中间件 +- `AuthMiddleware`:请求身份验证中间件 +- `LogMiddleware`:记录请求日志中间件 + +### 数据库 +- 支持多种数据库,基于 PDO 操作 +- 提供 `Db` 类统一数据库操作接口 +- 支持查询构建器、事务、聚合函数等 + +### 缓存 +- 支持 `File` 和 `Redis` 缓存驱动 +- 通过 `Cache` 类调用缓存功能 + +### 容器与依赖注入 +- 使用 `Container` 类绑定、解析类依赖 +- 提供 `bind`、`singleton`、`make` 等核心方法 + +### 路由 +- 支持 `GET`, `POST`, `PUT`, `DELETE` 等方法 +- 支持路由分组、资源路由、中间件绑定等 + +### 视图 +- 使用原生 PHP 语法进行模板渲染 +- 提供 `assign`, `display`, `fetch` 等方法 + +--- + +## 🛠️ 配置文件 + +- `config/common.php`:公共配置 +- `config/database.php`:数据库连接配置 +- `config/cache.php`:缓存配置 +- `config/view.php`:视图引擎配置 +- `config/middleware.php`:中间件注册配置 +- `config/pagination.php`:分页配置 + +--- + +## 🧑‍💻 开发者工具 + +- **自动加载**:基于 Composer 的 `ClassLoader` 实现自动加载 +- **调试工具**:`dump()`、`config()`、`url()` �{...} 常用开发函数 +- **错误处理**:提供统一的异常处理、错误日志记录、错误页面展示 +- **日志系统**:支持 `debug`、`error` 等日志级别,记录到指定路径 + +--- + +## 📚 扩展与支持 + +- **常用扩展**:`Validator` 提供字段验证、`Upload` 实现文件上传、`Pagination` 实现分页功能 +- **日志记录**:`Logger` 支持日志记录与输出 +- **Session/Cookie**:提供统一的 `Session` 与 `Cookie` 操作类 +- **安全机制**:支持 `CSRF` 防护、`XSS` 过滤、`SQL` 日志记录 + +--- + +## 🧱 第三方依赖 + +- 使用 `Composer` 管理依赖,如 `ClassLoader`、`InstalledVersions` 等 + +--- + +## 📄 许可协议 + +StartMVC 遵循 **Apache2** 协议开源,您可以自由使用、修改和分发本框架。 + +--- + +## 🌐 官网与支持 + +- 官方网站:[http://www.startmvc.com](http://www.startmvc.com) +- QQ交流群:231304282(加群口令:startmvc) \ No newline at end of file -- Gitee