我使用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 Library是我的include路径中的第一个条目。请注意,我在开发环境中具有完全相同的配置,它可以按预期工作。
非常感谢任何关于为什么会发生这种情况并且可以避免的帮助。
一些背景:我不喜欢摆弄外部库,但这里真的很有用:我可以进入内部Zend扩展链(更改Zend_Form_Element的默认装饰器)然后让ZF库继续做它的出色工作。
答案 0 :(得分:1)
问题可能是zend server(CE)对服务器端代码的缓存。午饭后我回来时按预期工作。我确实使用Chrome隐身功能消除了浏览器缓存,但忘记了服务器缓存。