diff --git a/vendor/topthink/think-helper/README.md b/vendor/topthink/think-helper/README.md index f8f226de89484902e733c976355e2675571b7519..9e5e2e409a5781841a1be911d1b2e2e3d0ff471c 100644 --- a/vendor/topthink/think-helper/README.md +++ b/vendor/topthink/think-helper/README.md @@ -1,35 +1,128 @@ -# thinkphp6 常用的一些扩展类库 -基于PHP7.1+ -[![PHP Composer](https://github.com/larvatecn/think-helper/actions/workflows/php.yml/badge.svg)](https://github.com/larvatecn/think-helper/actions/workflows/php.yml) +# tinymvc -> 以下类库都在`\\think\\helper`命名空间下 +tinymvc 是一个超轻量级 PHP 开发框架,基于 [flightphp](https://flightphp.com/) 实现,支持 MVC 架构,并集成了多个流行开源库,如 [Medoo](https://medoo.in/)、[ThinkPHP ORM](https://github.com/topthink/think-orm)、[Layui](https://www.layui.site/) 等,提供数据库访问、路由控制、会话管理、模板渲染、验证码生成等功能。 -## Str +## 介绍 -> 字符串操作 +tinymvc 是一个简单但功能强大的 PHP 框架,适合快速构建小型项目。它提供了清晰的目录结构和良好的扩展性,开发者可以轻松地使用控制器、模型、视图三层架构进行开发。框架默认支持中英文切换,并通过 Composer �4 +## 软件架构 + +tinymvc 采用经典的 MVC 架构,包含以下主要模块: + +- **Controller(控制器)**:处理 HTTP 请求,调用模型并渲染视图。 +- **Model(模型)**:负责数据逻辑,继承自 `think\Model`,与数据库交互。 +- **View(视图)**:PHTML 模板渲染,支持变量赋值和布局嵌套。 +- **Routing(路由)**:通过 `config/router.php` 或注解配置,支持 RESTful 风格。 +- **Database(数据库)**:基于 ThinkPHP ORM 和 Medoo,支持多种数据库连接(MySQL、PostgreSQL、SQLite �://flightphp.com/):框架核心库,用于路由、请求、响应等基础功能。 +- **[ThinkPHP ORM](https://github.com/topthink/think-orm)**:提供数据库模型、关系映射、查询构建等功能。 +- **[Medoo](https://github.com/catfan/medoo)**:轻量级数据库连接器,用于基础数据操作。 +- **[Layui](https://www.layui.site/layui/)**:前端 UI 框架,提供表单、分页、上传等组件。 +- **[ThinkPHP Validate](https://github.com/topthink/think-validate)**:用于数据验证。 +- **[ThinkPHP Session](https://github.com/topthink/think-session)**:支持会话管理。 +- **[ThinkPHP Container](https://github.com/topthink/think-container)**:依赖注入容器。 + +## 安装教程 + +1. **下载项目** + ```bash + git clone https://gitee.com/lansn/tinymvc.git + ``` + +2. **安装依赖** + ```bash + cd tinymvc + composer install + ``` + +3. **配置数据库** + - 修改 `config/database.php` 中的数据库配置,确保连接信息正确。 + - 导入 `data/tinymvc.sql` 到你的 MySQL 数据库中。 + +4. **运行项目** + - 你可以使用内置服务器运行: + ```bash + php -S localhost:8000 -t public + ``` + - 或者部署到 Apache/Nginx,确保 `public/index.php` 为入口文件。 + +## 使用说明 + +### 控制器 + +控制器位于 `app/*/controller/` 目录中,例如 `app/admin/controller/IndexController.php`: + +```php +namespace app\admin\controller; + +class IndexController extends Controller +{ + public function indexAction() + { + $this->assign('message', 'Hello, tinymvc!'); + $this->render('index/index.phtml'); + } + + public function testAction($id, $val) + { + echo "Test: ID={$id}, Value={$val}"; + } +} ``` -// 检查字符串中是否包含某些字符串 -Str::contains($haystack, $needles) -// 检查字符串是否以某些字符串结尾 -Str::endsWith($haystack, $needles) +### 模型 + +模型位于 `app/*/model/`,例如 `app/admin/model/User.php`: + +```php +namespace app\admin\model; + +class User extends Model +{ + protected function getOptions(): array + { + return ['name' => 'users']; + } +} +``` + +### 视图 + +视图文件位于 `app/*/view/`,支持 `.phtml` 模板,例如 `app/home/view/index/index.phtml`: + +```php +

+

This is the home page.

+``` + +### 路由 + +框架支持自定义路由,可在 `config/router.php` 中配置,例如: + +```php +return [ + ['GET', '/user/:id', 'app\\home\\controller\\UserController@userProfile'] +]; +``` -// 获取指定长度的随机字母数字组合的字符串 -Str::random($length = 16) +## 参与贡献 -// 字符串转小写 -Str::lower($value) +- Fork 项目并在本地开发。 +- 创建 Pull Request 提交你的更改。 +- 提交 issue 以报告 bug 或提出功能建议。 +- 请遵循项目编码规范和提交格式。 -// 字符串转大写 -Str::upper($value) +## 特技 -// 获取字符串的长度 -Str::length($value) +- **多语言支持**:自动识别浏览器语言并加载对应语言包。 +- **数据库连接池**:支持多种数据库(MySQL、SQLite、PostgreSQL)。 +- **ORM 集成**:通过 ThinkPHP ORM 实现模型关系、自动填充、软删除等功能。 +- **验证码**:使用 `extend/captcha/Captcha.php` 生成图形验证码。 +- **前端 UI**:集成 Layui,提供美观的前端组件。 +- **依赖注入容器**:支持通过 `think\Container` 进行类的绑定与解析。 -// 截取字符串 -Str::substr($string, $start, $length = null) +## 许可证 -``` \ No newline at end of file +tinymvc 遵循 Apache2 开源协议,保留开发者信息。详情请查看 [LICENSE](LICENSE) 文件。 \ No newline at end of file