我有一个使用Zend Framework和Zend_Translate
的项目。Zend Framework存储修改类的方法?
我不得不稍微改变标准CSV适配器到Zend_Translate。现在我遇到了将这个改变的适配器放在哪里的问题。
默认情况下,适配器都存储在
/Library/Zend/Translate/Adapter/Adaptername.php
这是我已经把新的适配器为好。然而,我不想用我的自定义扩展来“污染”Zend库:我想保持能够更新ZF而不必担心丢失文件;我想继续使用集中安装的ZF版本;而自定义适配器是我正在开发的项目的一部分,真的。
是否有Zend Framework的方式来处理这个问题,或指定一个替代的加载位置?
语言适配器使用
$this->_adapter = new $adapter($data, $locale, $options);
(其中$adapter
会Zend_Translate_Adapter_Adaptername
)
因此,标准的自动加载规则加载。有没有一种简单的方法可以告诉Zend Autoloader查看第二个位置?
我的回答完全一样,你的措辞更好:) +1 – 2010-08-04 18:26:36
干杯@戈登,但这意味着我必须重写'Zend_Translate'本身,对吧?因为它从'Zend_Translate_Adapter'构造了类名......根据你传递的'$ adapter'参数,不可能顶层将它改为'My_Translate_Adapter _...'。我所要做的就是让Zend在两个目录结构中查找* same *命名空间 - 这可能是不可能的。我会看看Zend_Loader,看看我能找到什么。 – 2010-08-04 18:48:18
@Pekka不,这不应该是必要的。请参阅http://framework.zend.com/manual/en/zend.translate.adapter.html#zend.translate.adapter。自我写作 – Gordon 2010-08-04 19:16:00