学习笔记20251215

学习笔记

以下都是使用ThinkPHP6进行测试

多应用模式

不仅仅是目录分离

相关文档:https://doc.thinkphp.cn/v6_1/duoyingyongmoshi.html

  • 实现方式:在 app 下建立 adminapimerchant 等目录,每个应用拥有独立的控制器、验证器、路由等。通过路由前缀(如 /api/)或独立入口文件进行隔离。
  • 核心价值
    • 清晰的业务边界:后台、前台、商户端代码物理隔离,避免混乱。
    • 独立的权限体系:每个应用可配置不同的中间件和权限逻辑。
    • 便于团队协作与部署:理论上可以拆分独立部署,灵活性高。
  • 思考延伸:这种模式与传统的“模块化”有何不同?它是否增加了路由和公共服务的复杂度?

服务注册(Service)

相关文档:https://doc.thinkphp.cn/v6_1/xitongfuwu.html

  • 你的场景很典型:统一的JSON响应正是通过服务类实现的。

    // 服务注册 AppService Service
    $this->app->bind('json', Json::class);
    // 控制器使用 
    return app('json')->success(200);
    
  • 更深层的价值

    • 解耦与复用:将业务逻辑(如支付、订单处理)抽离到 app\services 下,控制器只负责调度,代码复用率极高。
    • 依赖管理:服务类本身可以通过容器自动注入所需依赖,形成清晰的依赖链。
    • 可测试性:独立的服务类可以轻松进行单元测试。
  • 代码示例:你可能会在 services 目录下找到 OrderServiceUserService 等,它们才是系统的“大脑”。

posted @ 2026-01-06 15:43  需要成长的小哥  阅读(2)  评论(0)    收藏  举报