0

我使用 Zend Framework 并在我自己的库(不是主要 ZF 库)中有以下自定义文件(这是这个库中唯一的文件!):

/home/web/library/php/Zend/Form/Element/Xhtml.php

我的包含路径是:

/home/web/domains/secondstart/application/../../../library/php:/home/web/domains/secondstart/application/../library:.:/usr/local/zend/share/ZendFramework/library:/usr/local/zend/share/pear

常规文件存在于 ZF 库中(在 /usr/local/zend/share/ZendFramework...)。

现在在 ZF 中 Zend_Form_Text_Element 扩展了 Xhtml_Element 如下(片段):

...
require_once 'Zend/Form/Element/Xhtml.php';

/**
 * Text form element
 *
 * @category   Zend
 * @package    Zend_Form
 * @subpackage Element
 * @copyright  Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 * @version    $Id: Text.php 23775 2011-03-01 17:25:24Z ralph $
 */
class Zend_Form_Element_Text extends Zend_Form_Element_Xhtml
{
...

但是在调用 Text_Element 时,我的自定义文件被忽略了。当我从 ZF 库中删除 Xhtml.php 文件时,它会选择我的自定义文件。所以看起来 ZF 常规库比我的自定义类更受欢迎,尽管我的自定义 Zend 库是我包含路径中的第一个条目。请注意,我在我的开发环境中具有完全相同的配置,它可以按预期工作。

对于为什么会发生这种情况以及可以避免的任何帮助,我们将不胜感激。

一些背景知识:我不喜欢摆弄外部库,但在这里它真的很有用:我可以闯入内部 Zend 扩展链(更改 Zend_Form_Element 的默认装饰器),然后让 ZF 库继续完成其出色的工作.

4

1 回答 1

1

问题可能是 zend 服务器 (CE) 对代码的服务器端缓存。当我午饭后回来时,它按预期工作。我确实通过使用 Chrome incognito 消除了浏览器缓存,但忘了考虑服务器缓存。

于 2012-09-19T14:09:02.037 回答