我一直试图让Connections使用位于app/extensions/data/source/database/adapter/
的自定义适配器。我想扩展Connections类并替换
protected static $_adapters = 'data.source';
带
protected static $_adapters = 'adapter.extension.data.source';
并更改app/config/bootstrap/connections.php
顶部使用的连接类以使用app\extensions\data\Connections;
足以让它开始。但是,这只会导致代码仍在尝试使用原始Connections类的错误。
是否有一种简单的方法可以实现这一点,或者我是否必须使用重写的类引用从扩展中的锂/数据重新创建整个类集?
编辑:
事实证明我是以错误的方式解决这个问题。按照Nate Abele的建议,Libraries::path('adapter')
告诉我在哪里正确放置MySql.php文件我试图覆盖; - )
答案 0 :(得分:1)
为了处理命名类(即抽象中的服务)的位置,您需要查看Libraries
类,特别是the paths()
method,它允许您定义类路径的方式抬起头来。
您还可以查看相关定义,例如locate()
和$_paths
,以了解默认配置的外观。
最后,请注意Connections
类是'特殊',因为它根据提供的配置动态定义一个路径:http://li3.me/docs/api/lithium/1.0.x/lithium/data/Connections::_class()
这可以帮助您重新配置类的组织方式,而无需扩展/覆盖任何内容。通常你不需要这样做,除非你需要一些截然不同的行为。