三、设置了多库连接对默认连接的库是否有影响
此时估计很多小伙伴会引发出这个问题,那么不妨来进行测试一下。
可以切换到我们之前文章写的index控制器
暂且就先看index这个方法
浏览器执行一下,看一下返回结果
不放心的话可以再看一下对应的数据库对应的表数据
这下就可以放心了,到此本节主题多库怎么切换连接就说明完了。
四、疑问解答($di = new FactoryDefault())
在Phalcon中我们看到了使用了$di->setShared,对于这个di很多人都不明白其怎么回事。
在这之前咔咔略微的对ThinkPHP的源码看了一遍,发现其功能就类似于ThinkPHP的容器概念。
在ThinkPHP中容器是使用了注册树模式,需要使用对应对象实例的时候就可以直接获取,这样就避免了一个类反复的创建。这就是其中的一个优点。
通过对Phalcon源码的追踪发现也是实现类似的功能,在容器中注册一个服务。就跟ThinkPHP通过注册树设计模型来对注册类进行保存。
服务注册成“shared”类型的服务,意味着这个服务将使用 [单例模式]运行, 一旦服务被首次解析后,这个实例将被保存在容器中,之后的每次请求都在容器中查找并返回这个实例
跟ThinkPHP一样,也是放到了入口文件处
本节先到这里,一点点慢慢深入发现其设计之美。