thinkphp 使用手册
📄字数 2.3K
👁️阅读量 加载中...
thinkphp 是一个面向对象,简易、快速的轻量级 php 开发框架,本文档将介绍 XuguDB 对 thinkphp 框架的适配情况,并简易描述使用 thinkphp 开发 XuguDB 应用的 Demo 指南。
框架名称 | 适配起始版本 | 官网地址 | 源框架下载地址 | XuguDB框架下载 | demo程序地址 |
---|---|---|---|---|---|
thinkphp | 5.0.1 | thinkphp官网 | - | 版本发布列表 | xugu-thinkphp |
提示
版本发布列表源代码压缩包即为产品压缩包。
其他适配版本可详见版本发布列表
一、方言包使用说明
XuguDB thinkphp 方言包有两个文件目录,在获取到方言包压缩包后,按以下步骤安装方言包。
将
builder
文件夹下的 Xugusql.php 复制到 thinkphp 应用的\vendor\topthink\think-orm\src\db\builder
目录下。将
connector
文件夹下的 Xugusql.php 复制到 thinkphp 应用的\vendor\topthink\think-orm\src\db\connector
目录下。
- 编辑 thinkphp 的
.env
文件。
php
[APP]
DEFAULT_TIMEZONE = Asia/Shanghai
[DATABASE]
TYPE = xugusql
HOSTNAME = 127.0.0.1
DATABASE = SYSTEM
USERNAME = SYSDBA
PASSWORD = SYSDBA
HOSTPORT = 5138
CHARSET = utf8
DEBUG = true
[LANG]
default_lang = zh-cn
- 编辑
config/database.php
文件。
php
<?php
return [
'default' => 'xugusql',
'connections' => [
'xugusql' => [
'type' => 'xugusql',
'hostname' => env('database.hostname', '127.0.0.1'),
'database' => env('database.database', 'SYSTEM'),
'username' => env('database.username', 'SYSDBA'),
'password' => env('database.password', 'SYSDBA'),
'hostport' => env('database.hostport', '5138'),
'charset' => env('database.charset', 'utf8'),
'prefix' => env('database.prefix', ''),
],
],
];
提示
不同的 thinkphp 版本文件存放的上层目录结构可能有些许的变动,具体存放位置请查看 thinkphp 目录结构。
不同的 thinkphp 的数据库配置文件方式存在差异,具体配置情况请查看 thinkphp 官方说明。
二、连接示例程序
本章节将介绍在 thinkphp 应用连接 XuguDB 。
2.1 前提条件
- 已安装 php。
- 已安装 thinkphp6。
- 已安装 think 模板引擎。
- 已部署 XuguDB 12.0.0 或有能连接访问的虚谷数据库实例。
提示
本文是在 thinkphp 6.1.5 版本中进行操作说明,若使用其它版本环境,那么与本文中的步骤可能存在不同。
2.2 操作步骤
2.2.1 配置数据库
根据 方言包使用说明 中配置说明和 XuguDB 连接信息修改配置文件 .env
与数据库配置文件 config/database.php
。
2.2.2 创建数据库表
使用控制台工具或 DBeaver 工具连接到虚谷数据库实例,执行以下 SQL ,创建待使用的数据库表,并插入一条信息。
sql
CREATE TABLE `user` (
`id` int IDENTITY PRIMARY key,
`name` varchar(255) NOT NULL DEFAULT '',
`email` varchar(255) NOT NULL DEFAULT '',
`create_time` datetime DEFAULT NULL,
`update_time` datetime DEFAULT NULL
) ;
INSERT into `USER`(`NAME`,`email`) values('XuguDB','xugu@test.com');
2.2.3 启动应用访问接口
在 demo 根目录下打开命令行工具,执行以下命令,启动 thinkphp 应用:
cmd
php think run
该 Demo 项目提供四个接口链接,接口源码编写在 app/controller/UserController.php
文件,功能详情如下表:
接口名称 | 接口访问链接 | 接口展示功能 |
---|---|---|
user | http://localhost:8000/user/ | 获取所有数据并且展示 |
create | http://localhost:8000/user/create/ | 填写表单保存新增一条数据 |
edit | http://localhost:8000/user/:id/edit | 修改某条数据内容 |
delete | http://localhost:8000/user/:id/delete | 删除一条数据 |
路由映射编写在 route/app.php
文件中。
php
Route::get('user/create', 'UserController/create');
Route::post('user/save', 'UserController/save');
Route::get('user/:id/edit', 'UserController/edit');
Route::post('user/:id/update', 'UserController/update');
Route::get('user/:id/delete', 'UserController/delete');
三、常见问题&解决办法
在使用 thinkphp 连接 XuguDB 时,可能会遇到各种错误。以下列举一些常见的错误及其处理方法。
3.1 数据库配置未定义:XXX
数据库信息配置错误,一般为是配置位置书写错误或配置信息出错,从而报错。
3.2 Driver [Think] not supported
未安装模板引擎依赖,或者 thinkphp 为 thinkphp6 版本,模板引擎为 think 而不是 Think 。
3.3 路由修改未生效
通常是路由缓存未清理,导致修改未加载。执行 php think clear:route 清理缓存。
3.4 一直跳转控制器的 index 方法
删除 Route::get('user', 'User/index'); 路由设置。