extend\dm\Builder.php 继承 think\db\Builder
extend\dm\Connection.php 继承 think\db\PDOConnection
按照官方文档数据库扩展后配置修改
'type' => 'extend\dm\Connection'
这样修改后无法再获取到数据库的配置 buildere 参数 导致要重写 PDOConnection 类中的这个方法,
public function getBuilderClass(): string
{
return $this->getConfig('builder') ?: '\\think\\db\\builder\\' . ucfirst($this->getConfig('type'));
}
重写后:
public function getBuilderClass(): string
{
return 'extend\dm\Builder';
}
虽然改动不大,这样没办法再通过配置设置了
不知道本人的理解有没有错漏的地方。
建议官方还是保留 type 配置。新增一个配置Connection的属性;这样扩展数据库就方便配置了。例如:
type=dm
connection = extend\dm\Connection
builder = extend\dm\Builder
最佳答案