2010-08-09 11 views
12

उद्धरण अंत में ORM जाना आश्वस्त किया है। अतीत में मैं वास्तव में ORM पसंद है और इसे बंद लिखा एसक्यूएल करने का एक तरीका के रूप में बेवकूफ havn't। एसक्यूएल में पदानुक्रमित डेटा से निपटना एक दर्द है जिसे मैं सौदा नहीं करना चाहता हूं।कोडिनेटर के लिए कौन सा ओआरएम? नीचे

एक कारण है कि हमारे पास इन "ऑब्जेक्ट-रिलेशनल मैपर" चीजें हैं, और यह ऑब्जेक्ट-रिलेशनल इम्पैडेंस मिस्चैच के नाम से जाने वाली किसी समस्या के कारण है। असल में, सुनिश्चित करें कि वे बरकरार रहने के लिए इस्तेमाल किया डेटाबेस के लिए औपचारिक गणितीय मॉडल सबसे प्रोग्रामिंग भाषाओं हम आज का उपयोग में डेटा संरचनाओं नेस्टेड पेड़ की तरह संरचनाओं में डेटा में हेरफेर करते हुए, पंक्तियों और स्तंभों और अन्य तालिकाओं को संदर्भ के साथ टेबल की एक प्रणाली इस प्रकार है। यह एक स्प्रेडशीट और एक एक्सएमएल दस्तावेज़, या एक खाताधारक और एक परिवार के पेड़ आरेख के बीच अंतर की तरह है। - http://zork.net/motd/nick/django/your-favorite-orm-sucks.html

मुझे सेटअप करने के लिए न्यूनतम प्रयास के साथ कुछ चाहिए। मेरी अधिकांश परियोजनाएं छोटी हैं इसलिए मैं मॉडल को परिभाषित करने में अधिक समय नहीं बिताना चाहता हूं जब मैं केवल कुछ प्रश्नों के लिए उनका उपयोग करता हूं।

मैं php ढांचे और MySQL डेटाबेस के रूप में के रूप में CodeIgniter उपयोग कर रहा हूँ।

+1

[अच्छा PHP ओआरएम लाइब्रेरी?] (Http://stackoverflow.com/questions/108699/good-php-orm-library) और [कई अन्य] के संभावित डुप्लिकेट (http://stackoverflow.com/search? q = orm + php) – Gordon

+2

डेटाबेस में पदानुक्रमित डेटा जिसमें कोई रिकर्सिव या पदानुक्रमित क्वेरी समर्थन नहीं है, वह आपकी समस्या है। PostgreSQL एक व्यवहार्य विकल्प होगा, हालांकि इन दिनों SQL सर्वर और ओरेकल के मुफ्त संस्करण उपलब्ध हैं ... –

+0

@OMG टट्टू तो मूल रूप से समस्या यह है कि MySQL ऑब्जेक्ट्स का समर्थन नहीं करता है, इसलिए डेटा प्राप्त करने का एकमात्र तरीका या तो रिकर्सिव है पूछें या बाएं जुड़ने का गुच्छा करें और अनावश्यक डेटा के साथ समाप्त हो? मैंने केवल ओरेकल के साथ संक्षेप में निपटाया है, एक संग्रहित प्रक्रिया इसके लिए सही उपकरण है या क्या क्वेरी वास्तव में वस्तुओं में पदानुक्रमित डेटा लौटा सकती है? – Keyo

उत्तर

9

सिद्धांत प्रतिभाशाली और सेटअप करने के लिए बहुत आसान है और सीआई के साथ उपयोग करें। इसे एकीकृत करने के तीन तरीके हैं 1) सीआई विकी 2 में वर्णित तरीके) एक प्लगइन के रूप में 3) हुक का उपयोग कर। मुझे विकल्प 1 पसंद नहीं है क्योंकि इसमें सीआई सिस्टम फाइलों के साथ गड़बड़ करना शामिल है। विकल्प 2 बहुत आसान है और मैं वर्तमान में उपयोग करता हूं। Www.phpandstuff.com पर सेटअप का वर्णन किया गया है। मैं विकल्प 3 की कोशिश की है, लेकिन यह कभी नहीं दिलचस्प लगता है - http://blog.medryx.org/2008/10/04/codeigniter-and-doctrine/

+0

धन्यवाद के साथ रिकवरी और कनेक्ट के साथ पढ़ने के लिए दिलचस्प है। मैं सिद्धांत दस्तावेज के माध्यम से पढ़ रहा हूँ। सीखने के लिए काफी कुछ है लेकिन अगर मैं इसे किसी भी ढांचे पर उपयोग कर सकता हूं तो यह मूल्यवान होगा। – Keyo

2

मैं

http://www.doctrine-project.org/ की सिफारिश करेंगे, यह बहुत लोकप्रिय है, ताकि आप ज्ञान होगा, और अन्य framworks में इसका इस्तेमाल करने में सक्षम हो जाएगा।

2

का उपयोग मैं कैसे के बारे में Datamapper Overzealous Edition

लगता है कि मूल DataMapper (stensi से) 'isn विकास के तहत अब टी। (अगर मैं गलत हूं तो कोई मुझे सही करता है) डाटामैपर के साथ काम करने के लिए डाटामैपर अति उत्साही संस्करण आसान है।

मुझे यकीन है कि सिद्धांत बहुत अच्छी तरह से काम करता है हूँ, लेकिन मुझे यकीन है कि कितना आसान है Codeigniter के साथ स्थापित करने के लिए है नहीं कर रहा हूँ।

5

मुझे लगता है कि आप DataMapper ORM जो देशी सीआई में लिखा है इसके अलावा कॉन्फ़िगर करने के लिए आसान है और साथ ही साथ उपयोग करने के लिए आसान कोशिश करनी चाहिए। मुझे लगता है कि यह सिद्धांत से बेहतर है।

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