2016-08-26 1 views
0

Ich habe benutzerdefinierte libs im alten Stil zend. Ich meine:zend 2 einschließlich benutzerdefinierte Bibliothek alten Stil

/home/my/libs/StandardTypes/UF.php

class StandardTypes_UF{ 
    ... 
} 

Ich benutze diese in Zend 2

Ich habe versucht, diese Codes versucht haben:

// init_autoloader.php

... 
include $zf2Path . '/Zend/Loader/AutoloaderFactory.php'; 
    Zend\Loader\AutoloaderFactory::factory(array(
     'Zend\Loader\StandardAutoloader' => array(
      'autoregister_zf' => true, 
      'prefixes'   => array(
       'StantardTypes' => '/home/my/libs/StandardTypes', 
      ), 
     ) 
    )); 
... 

// Controller

$st = new \StantardTypes_UF(); 

Ich habe diesen Fehler: Fatal error: Class 'Beneficio \ Controllers \ StantardTypes_UF' nicht

gefunden

ich auf diese Weise versucht, zu:

//Module.php

... 
public function getAutoloaderConfig(){ 
     return array(
      'Zend\Loader\StandardAutoloader' => array(
       'namespaces' => array(
        __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, 
      ), 
       'prefixes' => array(
        'StantardTypes' => '/home/my/libs/StandardTypes', 
       ),    
      ), 
     ); 
    } 
... 

I habe den gleichen Fehler.

Ich kann die libs nicht zu neuen Stil ändern, zuerst weil es zu groß ist, secund da es auch in alten Projekten verwendet wird.

Irgendwelche ideia, wie man das löst?

+0

Ist Ihre Bibliothek ohne Namespace? – newage

+0

Versuchen Sie, 'new \ StantardTypes \ StantardTypes_UF()' aufzurufen? – newage

Antwort

0

Das Problem ist, dass ich einen Pfad aus dem Projekt nicht verwenden kann. Ich habe die lib StandardTypes in Herstellerpfad und es funktioniert!

... 
'prefixes' => array(
    'StantardTypes' => '/home/my/project/vendor/StandardTypes', 
), 
....