मुझे ज़ेंड फ्रेमवर्क में कुशलतापूर्वक मॉडल का उपयोग करने के लिए सर्वोत्तम अभ्यास करने की आवश्यकता है।ज़ेंड फ्रेमवर्क में मॉडल को अनुकूलित कैसे करें?
वर्तमान में, मैं Zend_Db_Table_Abstract
विस्तार वर्ग है जो प्रत्येक वर्ग 'संबंधित तालिका करने के लिए अपने प्रश्नों को संभालने की है।
जब मुझे नियंत्रक से उन तालिकाओं में से 5 का उपयोग करने की आवश्यकता होती है, तो मुझे लगता है कि मैं प्रत्येक विशिष्ट Zend_Db_Table
ऑब्जेक्ट के 5 नए उदाहरण बना रहा हूं। यह वास्तव में अप्रभावी है।
मैं नया उदाहरण बना करने के लिए एक फैक्टरी पैटर्न को लागू करने (या प्रदान मौजूदा स्थिर प्रतिलिपि), लेकिन यकीन नहीं है के बारे में सोचा है। क्या यह इसके बारे में जाने का सबसे अच्छा तरीका है?
अत्यधिक संसाधनों का उपभोग किए बिना गति सुनिश्चित करने के लिए मॉडल को संभालने का सही तरीका क्या है? आलसी लोडिंग यहां खेलना चाहिए?
[संपादित करें] एक उदाहरण के रूप में, मैं एक वर्ग है मैं क्वेरी को पार्स करने के लिए एक कच्चे खोज क्वेरी से स्थान के बारे में जानकारी प्राप्त करने को संभालने के लिए इस्तेमाल करते हैं और आदेश में इन वस्तुओं की आवश्यकता है:
// Initialize database object
$this->dbLocations = new Model_Locations;
$this->dbStates = new Model_States;
$this->dbZipcodes = new Model_Zipcodes;
$this->dbLookup = new Model_Lookup;
एक और कक्षा में, मुझे उन मॉडलों को फिर से एक्सेस करने की आवश्यकता हो सकती है, इसलिए मैं उपरोक्त कोड दोहराता हूं। अनिवार्य रूप से उन वस्तुओं को पुन: प्रारंभ करना जो स्थिर/सिंगलटन हो सकते हैं।
आपका प्रश्न काफी मजदूरी है, क्या आप कोड का एक उदाहरण दिखा सकते हैं जहां आप वास्तव में 5 टेबल कक्षाओं के उदाहरण बनाते हैं और वर्णन करते हैं कि आपको उनके लिए क्या चाहिए। – markus
मैं आपकी चिंताओं को समझता हूं लेकिन वास्तव में इसका पालन नहीं करता हूं। ओओपी में एक वर्ग और विशेष रूप से एक अमूर्त वर्ग के कई उदाहरण बनाना एक बात है, मैं कहूंगा। इस टेबल मॉडल पर सवाल पूछना थोड़ा सा ओओपी या विरासत मुझसे पूछताछ जैसा है। –
एक बुनियादी स्तर पर, इस विधि में उपयोग स्वीकार्य है। मेरे पास एक बेहतर शब्द की कमी के लिए एक कस्टम "हैंडलर" है, जो एक क्वेरी ऑब्जेक्ट लेता है, इसमें पार्स गुण होता है और इसे एक स्थान हैंडलर पर भेजता है जो उस क्वेरी के लिए सभी स्थान डेटा प्राप्त करता है, फिर उसे एक पर भेजता है डेटा डेटा हैंडलर के साथ-साथ एक मौसम डेटा हैंडलर। इसके कई चरणों में, मुझे विभिन्न तालिकाओं तक पहुंचने और इन वस्तुओं को विभिन्न वर्गों से बहुत कुछ शुरू करने की आवश्यकता है। अधिक जानकारी के लिए इसे देखें: http://stackoverflow.com/questions/9116838/डेटा-encapsulation-and-data-flow-in-php –