持有”进程级容器”, 当绑定不存在时, 到”进程级容器” 上查找之....'conversationProviders' => [
// 数据读写的组件, 用到了laravel DB 的redis 和 mysql
\Commune\Chatbot\Laravel...如果某个服务调用 在自己内未注册, 就会到父容器里查找. 父容器也是递归容器的话, 就会递归式查找.
这样, 进程级共享的单例, 就可以注册到 “进程级容器” ....而请求相互隔离的单例, 就注册到 “请求级容器”.
请求内都用 “请求级容器” 来获取实例, 这样就充分灵活了....所以直接使用了 Laravel 的 Application 做 “进程级容器”, 确保自己请求中用到的核心业务逻辑都不注册到 laravel中, 避免污染.