2017-05-06 34 views
1

我一直试图让连接使用位于app/extensions/data/source/database/adapter/的定制适配器。我想扩展连接类以及锂:如何更改位置连接'和类似的类寻找适配器

protected static $_adapters = 'adapter.extension.data.source'; 

更换

protected static $_adapters = 'data.source'; 

并改变的app/config/bootstrap/connections.php顶部用用app\extensions\data\Connections; 就足以得到它开始的连接类。但是,这只会导致代码仍在尝试使用原始Connections类的错误加载。

有没有一种简单的方法来做到这一点,或者我必须重新与重写类引用扩展一整套的从锂/数据类的?

编辑︰ 原来我是这样做错了。以下内特Abele先生的意见后,Libraries::path('adapter')指给我看,以正确放置MySql.php文件我试图重写;-)

回答

1

对于如何命名类交易(即服务,在抽象)的位置,你想看看Libraries类,特别是the paths() method,它允许您定义如何查找类路径。

您还可以查看关联的定义,例如locate()$_paths,以便您了解默认配置的外观。

最后,要注意的是,Connections类是“特殊”,因为它定义了一个动态路径的基础上,提供的配置:http://li3.me/docs/api/lithium/1.0.x/lithium/data/Connections::_class()

这应该可以帮助您重新配置类是如何不延长/覆盖任何组织。一般来说,除非你需要一些截然不同的行为,否则你不需要那样做。

+0

此外,随时跟进代码示例,显示您正在做什么,和/或您收到的错误消息。 –

+0

嗨Nate。在阅读您的回复并学习了Libraries :: paths()文档和代码之后,我编辑了我的原始问题。 – Archer

+0

那么,你有它的工作? –