2010-11-09 6 views
8

मेरे पास ZF 1.11 कोई समस्या नहीं है और require_once कथन को हटाने के लिए उनके प्रदर्शन मार्गदर्शिका में निर्देशों का पालन किया है। मैंने अपनी इंडेक्स फ़ाइल में ऑटोलोडर जोड़ा है जैसा कि वे कहते हैं (एक तरफ नोट पर, मुझे नहीं लगता कि यह बूस्टरप में क्यों नहीं जा सकता है), लेकिन अब मेरे प्लगइन्स नहीं मिल रहे हैं।ज़ेंड फ्रेमवर्क: प्लगइन पथ

:

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 

इस फार्म निर्माता मैं जोड़ लिया है कोशिश करते हैं और कोई लाभ नहीं हुआ साथ इसे ठीक करने के लिए निम्न में:

उदाहरण के लिए, एक रूप 'DijitElement' डेकोरेटर, जो त्रुटि देता उपयोग कर रहा है

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

अगर मैं डेकोरेटर का नाम बदलने के सिर्फ 'DijitElement' के स्थान पर 'Zend_Dojo_Form_Decorator_DijitElement' का उपयोग करने के मैं:

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/ 

मेरे बूटस्टैप में मैं प्लगइन कैश का उपयोग कर रहा हूं, इससे पहले कि मैंने requ_once को हटा दिया हो, मेरे पास कन्स्ट्रक्टर में कोई उपसर्ग पथ नहीं था जो ठीक काम करता था, लेकिन हटाने के बाद मैंने कोशिश की और बिना काम किया और न ही काम किया।

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); 
} 

मैं ज़ेंड को कैसे कहूं कि फाइलें कहां हैं? मैं यह मानते हुए कर रहा हूँ यह मेरी autoloader लेकिन साथ कुछ है गाइड बस जोड़ने कहते हैं इस चाल करना होगा:

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

FYI करें, गाइड यहाँ http://framework.zend.com/manual/en/performance.classloading.html

+0

आप अपने बूटस्ट्रैप _initPluginChache() पर Zend_Loader_PluginLoader में इन डिफ़ॉल्ट पथ क्यों सेट कर रहे हैं? –

+0

यह सिर्फ एक प्रयोग था, मैंने इनके साथ और बिना दोनों की कोशिश की है – Ashley

उत्तर

4

मैं अपने समाधान नहीं मिला है, तो समस्या कुछ भी नहीं था आवश्यकता या ऑटोलोडर को हटाने के लिए वास्तव में एक तत्व सजावट। गैर-डोजो तत्व पर 'डिजीट एलिमेंट' का उपयोग करने वाले सजावटकर्ताओं की एक सरणी जोड़ना इस प्लगइन त्रुटि को देगा। एक छोटी गलती के लिए एक बेवकूफ त्रुटि

संबंधित मुद्दे