ThinkPHP 6的使用教程
- 编程知识
- 2023-06-04
- 4
ThinkPHP是一个优秀的轻量级PHP 开发框架,他是功能完善、开发效率高的框架。ThinkPHP 6是最新版本,为满足现代Web开发需求,完美支持API和Web开发。小编根据自己的使用经验,在实际项目中和资料中选取了一些ThinkPHP6的最佳实践。以下是详细的使用教程。
一、安装与配置
1、通过Composer安装
composer create-project topthink/think tp6
2、配置数据库信息
// 访问路由配置
/mysql/:id [get]
// 获取到id参数,查询 @mysql 数据库中 @user 对应id 的 用户数据
public function mysql($id){
return json(User::get($id));
}
// 数据库配置
'mysql' => [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => 'test',
// 用户名
'username' => 'root',
// 密码
'password' => '123456',
// 端口
'hostport' => '',
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => 'think_',
// 数据库调试模式
'debug' => false,
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0,
// 数据库读写是否分离 主从式有效
'rw_separate' => false,
// 读写分离后 主服务器数量
'master_num' => 1,
// 指定从服务器序号
'slave_no' => '',
// 是否严格检查字段是否存在
'fields_strict' => true,
// 数据集返回类型
'resultset_type' => 'array',
// 自动写入时间戳字段
'auto_timestamp' => false,
// 时间字段取出后的默认时间格式
'datetime_format' => 'Y-m-d H:i:s',
// 是否需要进行SQL性能分析
'sql_explain' => false,
]
二、路由配置
ThinkPHP路由是一个非常好用,支持多种路由类型如动态路由(默认)和重写路由。ThinkPHP6和ThinkPHP5的使用方式相同。
1、默认路由配置
use think\facade\Route;
Route::get('/hello/:name', 'index/hello');
public function hello($name = 'ThinkPHP6')
{
return 'hello,' . $name;
}
2、RESTful风格路由配置
Route::resource('blog', 'index/blog');
public function index()
{
return '博客列表';
}
public function read($id)
{
return '博客详情-ID:'.$id;
}
public function save()
{
return '博客创建';
}
public function update($id)
{
return '博客更新-ID:'.$id;
}
public function delete($id)
{
return '博客删除-ID:'.$id;
}
三、控制器与模型
控制器是MVC框架中最重要的部分。在ThinkPHP 6中,控制器基类使用的是官方推荐的基类。所有的控制器都必须继承它。在ThinkPHP6中,可以使用注解的方式来进行URL路由的配置方式。这样会使得代码更为简洁明了。
1、控制器代码
namespace app\index\controller;
use app\BaseController;
class Index extends BaseController
{
public function index()
{
return view();
}
public function hello($name = 'ThinkPHP6')
{
return 'hello,' . $name;
}
}
2、模型代码
namespace app\index\model;
use think\Model;
class User extends Model
{
}
四、视图文件
视图是MVC中非常重要的一部分。在ThinkPHP 6中,视图使用TP推荐的模板引擎Think模板,有中文、英文两种语言模板。下面是一个简单的视图示例:
1、视图配置
return [
// 模板引擎类型 支持 php think 支持扩展
'type' => 'Think',
// 模板路径
'view_path' => '../template/index/',
// 模板后缀
'view_suffix' => 'html',
// 模板文件名分隔符
'view_depr' => DS,
// 是否开启模板编译缓存,设为false则每次都会重新编译
'tpl_cache' => false,
// 是否检查文件时间
'tpl_deny_php' => false,
// 模板引擎普通标签开始标记
'taglib_begin' => '{',
// 模板引擎普通标签结束标记
'taglib_end' => '}',
];
2、视图代码
{extend name="public/layout"}
{block name="content"}
<h2>珍珍是个好女孩</h2>
{/block}
五、中间件
ThinkPHP 6的中间件在前面版本中已经存在,但并未得到广泛使用,它可以很好地解决在多个请求处理之间共享功能的问题。中间件是在请求到达控制器之前,检查或处理其他请求的逻辑。
1、中间件配置
namespace app\middleware;
class AdminAuth
{
public function handle($request, \Closure $next)
{
if($request->param('username') != 'admin'){
return redirect('/login');
}
return $next($request);
}
}
// 在配置文件(config/middleware.php)中配置:
return [
// 中间件别名
'check' => app\middleware\AdminAuth::class
];
2、中间件代码
Route::rule('mysql/:id', 'index/index/mysql')->middleware('check');
以上就是本篇ThinkPHP 6的使用教程的内容。ThinkPHP 6相比之前版本,提供了更多好用的功能。使用ThinkPHP 6开发,能够更加快速高效地开发出大型Web项目。