# small **Repository Path**: chenbool/small ## Basic Information - **Project Name**: small - **Description**: php框架 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-02 - **Last Updated**: 2026-05-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Small > 轻量级 PHP MVC 框架 | 简洁易用 | 支持 HTML 缓存 ## 项目概述 | 属性 | 说明 | |------|------| | 框架类型 | PHP MVC 框架 | | PHP 版本 | >= 5.4.0 | | 路由风格 | PATH_INFO | | 视图模板 | .tpl 文件 | ## 目录结构 ``` small/ ├── app/ # 应用目录 │ ├── admin/ # 后台模块 │ │ ├── controller/ # 控制器 │ │ ├── view/ # 视图 │ │ └── config.php # 模块配置 │ ├── home/ # 前台模块 │ │ ├── controller/ │ │ ├── view/ │ │ └── model/ │ └── model/ # 公共模型 ├── config/ # 配置目录 │ ├── config.php # 应用配置 │ ├── database.php # 数据库配置 │ └── auto.php # 自动加载配置 ├── frame/ # 核心框架 │ ├── app.php # 启动类 │ ├── auto.php # 自动加载 │ ├── library/ # 基础类库 │ │ ├── captcha.php # 验证码 │ │ └── upload.php # 文件上传 │ └── vendor/ # 核心类库 │ ├── route.php # 路由 │ ├── controller.php # 控制器基类 │ ├── model.php # 模型基类 │ ├── view.php # 视图 │ ├── loader.php # 加载器 │ ├── medoo.php # ORM │ └── request.php # 请求对象 ├── helper/ # 助手函数 │ └── function.php # 公共函数 ├── cache/ # 缓存目录 │ └── html/ # HTML 静态缓存 ├── index.php # 入口文件 ├── admin.php # 后台入口 └── README.md ``` ## 快速开始 ### 1. 环境要求 | 要求 | 最低版本 | |------|----------| | PHP | 5.4.0 | | PDO 扩展 | - | ### 2. URL 路由 ``` http://localhost/small/index.php/控制器/方法-参数1-参数2-参数3 ``` 示例: ``` http://localhost/small/index.php/Index/add-1-bool ``` ### 3. 访问默认页面 ``` http://localhost/small/index.php/home/index/index ``` ## 控制器 ```php class Index extends \frame\vendor\Controller { // 接收 URL 参数 public function add($id = 1, $arg = 2) { dump($id); // 打印变量 dump($arg); echo func_num_args(); // 输出参数个数 dump($_GET); } // 渲染视图 public function index() { $this->display(); } // 带变量的视图 public function show() { $this->display('', [ 'name' => 'bool', ]); } // 静态化页面 (可生成 HTML 缓存) public function view() { $this->view(); } } ``` ## 模型 ```php use Medoo\Medoo; $database = new Medoo([ 'database_type' => 'mysql', 'database_name' => 'dazuoye', 'server' => 'localhost', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8', 'prefix' => '' ]); $row = $database->select('user', '*'); dump($row); ``` ## 视图 ```php // 默认视图 $this->display(); // 静态化视图 (可缓存) $this->view(); // 获取视图内容 view::fetch(); // 带变量 $this->display('', [ 'name' => 'bool', ]); ``` ## 调试函数 | 函数 | 说明 | |------|------| | `dump($var)` | 打印变量 (类似 var_dump) | | `dd($var)` | 打印并终止 | ## 请求对象 ```php use frame\vendor\Request; // 获取 GET 参数 Request::get() Request::get('id') // 获取 POST 参数 Request::post() Request::post('id') // 获取上传文件 Request::file() Request::file('fileName') ``` ## Session ```php // 初始化 session(); // 设置 session('uid', 1); // 获取 session('uid'); ``` ## Cookie ```php // 设置 (名称, 值, 有效期秒) cookie('uid', 1, 1000); // 获取 cookie('uid'); // 删除 cookie('uid', null); ``` ## 验证码 ```php use frame\library\Captcha; $code = new Captcha(); $code->CreateImg(); $code = NULL; ``` ## 配置说明 编辑 `config/config.php`: ```php return [ 'URL_HTML_SUFFIX' => 'html', // URL 后缀 'URL_ARG_DEPR' => '-', // 参数分隔符 'TPL_TEMPLATE_SUFFIX' => '.tpl', // 模板后缀 'TPL_FILE_DEPR' => '/', // 视图目录分隔符 'DEBUG' => true, // 调试模式 'CACHE_PATH' => 'cache/', // 缓存路径 'CACHE_HTML' => true, // 开启 HTML 缓存 ]; ``` ## 数据库配置 编辑 `config/database.php`: ```php return [ 'database_type' => 'mysql', 'database_name' => 'dazuoye', 'server' => 'localhost', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8', 'prefix' => '', 'port' => 3306, ]; ``` ## 依赖 - [Medoo](https://medoo.in/) - 轻量级 PHP ORM