Zend framework: Plugin yolları

0 Cevap php

Ben herhangi bir sorun ile çalışan ZF 1.11 ve Require_once ifadeleri kaldırmak için performans kılavuzundaki talimatlarına. Ben onlar (bu boostrap gitmek değil neden bir yan not, ben görmüyorum) dediğiniz gibi benim kütüğü dosyasına autoloader ekledik, ama şimdi benim eklentileri bulunamadı demektir.

Örneğin, form hata döndürür 'DijitElement' dekoratör, kullanıyor:

Zend_Loader_PluginLoader_Exception: Plugin by name 'DijitElement' was not found in the registry; used paths: Zend_Form_Decorator_: Zend/Form/Decorator/ in C:\wamp\www\cms\library\Zend\Loader\PluginLoader.php on line 412

Bu formu Yapıcıda i denemek ve boşuna ile bunu düzeltmek için aşağıdaki ekledi:

$this->addPrefixPath('Zend_Dojo_Form_Decorator', 'Zend/Dojo/Form/Decorator', 'DECORATOR');

Ben yerine sadece 'DijitElement' of 'Zend_Dojo_Form_Decorator_DijitElement' kullanmak için dekoratör adlandırırsanız alıyorum:

Plugin by name 'Zend_Dojo_Form_Decorator_DijitElement' was not found in the registry; used paths: Zend_Dojo_Form_Decorator_: Zend/Dojo/Form/Decorator/ Zend_Form_Decorator_: Zend/Form/Decorator/

Ben iyi çalıştı kurucusuna hiçbir önek yolları vardı Require_once en kaldırıldı önce benim bootstap ben, eklenti önbelleği kullanıyorum, ama çıkardıktan sonra ben ve ve iş ne olmadan denedim.

protected function _initPluginCache() {
    $path = '/cache/pluginLoaderCache.php';
    if(file_exists($path)) include_once $path;
    $loader = new Zend_Loader_PluginLoader(array(
        'Zend_View_Helper'=>LIBRARY_PATH.'/Zend/View/Helper/',
        'Zend_Dojo_View_Helper'=>LIBRARY_PATH.'/Zend/Dojo/View/Helper',
        'Zend_Dojo_Form_Decorator'=>'Zend/Dojo/Form/Decorator',
        'Zend_Dojo_Form_Element'=>LIBRARY_PATH.'/Zend/Dojo/Form/Element'
    ));
    $loader = Zend_Loader_PluginLoader::setIncludeFileCache($path);
}

Dosyaların nerede nasıl Zend söyleyebilirim? Bu benim autoloader ama kılavuz ile ilgili bir şey olduğunu varsayarak kulüpler sadece bu hile yapacak ekleyerek diyor ki:

require_once 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance();

Bilginize, rehber burada http://framework.zend.com/manual/en/performance.classloading.html

0 Cevap