thinkphp 6.1手册需从https://www.kancloud.cn/manual/thinkphp6_1下载pdf确保版本准确;控制器依赖注入通过构造函数类型提示自动解析;全局中间件在config/middleware.php注册或命令行创建;路由组中间件用middleware()链式绑定;接口绑定须在appserviceprovider@register中完成。

直接获取ThinkPHP 6.1官方手册并离线使用
打开浏览器访问 https://www.kancloud.cn/manual/thinkphp6_1,这是ThinkPHP官方维护的6.1完整在线手册,内容与源码同步更新,含全部API说明、配置项、生命周期图解和示例代码。
点击右上角「下载PDF」按钮,生成当前页或全站手册PDF,保存到本地后可用任意PDF阅读器打开,支持全文搜索和书签跳转。
【必须确认下载的是6.1分支而非6.0或6.2】 页面URL中必须包含thinkphp6_1,否则文档版本错位会导致中间件注册方式、容器绑定语法等关键操作失效。
在控制器中实现依赖注入(构造函数方式)
进入 app/controller/User.php 文件,定义一个需要用户服务的控制器:
第一步:声明私有属性接收依赖对象
第二步:在构造函数参数中声明类型提示
第三步:将传入对象赋值给属性
这一步不需要手动 new 实例,框架会在路由匹配后自动解析并注入已注册的服务类。
例如:
namespace app\controller;use app\service\UserService;class User { private $userService; public function __construct(UserService $userService) { $this->userService = $userService; } public function info($id) { return $this->userService->getById($id); }}
注册全局中间件并启用请求日志记录
全局中间件对所有HTTP请求生效,适合做统一鉴权、跨域、日志采集等操作。
方法一:通过配置文件注册
打开 config/middleware.php,在返回数组中追加中间件类路径:\app\middleware\RequestLogger::class
方法二:使用命令行快速创建并注册
执行 php think make:middleware RequestLogger,该命令会自动生成类文件并自动写入 config/middleware.php 的 'http' 键下。
注意:中间件类必须实现 handle 方法,且必须调用 $next($request) 否则请求链路中断,页面白屏。
为特定路由组绑定中间件(精准控制)
当只需要保护后台API而不影响前台页面时,用路由中间件比全局更安全、更轻量。
编辑 route/app.php,在定义路由分组时使用 middleware() 方法链式调用:
Route::group('admin') ->middleware(\app\middleware\AuthCheck::class) ->rule('admin/[:id]', 'admin.User/read');
这样只有以 /admin/ 开头的请求才会经过 AuthCheck 中间件校验,其他路由完全不受影响。
这一步操作起来很简单,直接把中间件类名传进去就行,但要注意类路径必须带完整命名空间,漏掉 \app\ 前缀会导致类找不到而报错500。
向服务容器绑定接口与实现类
接口绑定是解耦的关键,它让控制器只依赖抽象,不依赖具体实现。
在 app/provider/AppServiceProvider.php 的 register 方法中添加:
$this->app->bind('app\contract\PaymentInterface', 'app\service\AlipayService');
之后在任何需要支付功能的地方,只要声明类型提示为 PaymentInterface,容器就会自动提供 AlipayService 实例。
这个绑定必须在应用启动早期完成,如果写在控制器里或中间件中,绑定时机太晚,后续依赖注入将无法识别该映射关系。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











