ZF-12067: Zend_Search_Lucene_Interface_MultiSearcher stored in wrong location


This class is located in ./Zend/Search/Lucene/MultiSearcher.php but should be in ./Zend/Search/Lucene/Interface/MultiSearcher.php

(Alternatively, the class should be renamed to Zend_Search_Lucene_MultiSearcher)


Still not resolved, it is very annoying !!!

Really the class just needs to be renamed, as it's not an interface but a concrete implementation of Zend_Search_Lucene_Interface. Here's a patch:

diff --git Zend/Search/Lucene/MultiSearcher.php Zend/Search/Lucene/MultiSearcher.php
index b2cb033..021b422 100644
--- Zend/Search/Lucene/MultiSearcher.php
+++ Zend/Search/Lucene/MultiSearcher.php
@@ -31,7 +31,7 @@ require_once 'Zend/Search/Lucene/Interface.php';
  * @copyright  Copyright (c) 2005-2011 Zend Technologies USA Inc. (
  * @license     New BSD License
-class Zend_Search_Lucene_Interface_MultiSearcher implements Zend_Search_Lucene_Interface
+class Zend_Search_Lucene_MultiSearcher implements Zend_Search_Lucene_Interface
      * List of indices for searching.

The suggested fix breaks backwards-compatibility because an end user may be directly {{require_once}}'ing {{Zend/Search/Lucene/MultiSearcher.php}} and expecting to get class {{Zend_Search_Lucene_Interface_MultiSearcher}}, which won't work any longer.

Attached patch implementing BC fix for this issue. However, we end up with two classes in a single file, which is technically against ZF coding standards. Is there a better way that i'm not thinking of?

Fixed in trunk (1.12.0): r24862