ActiveRecord दर्शन

आज हमारे लेख में, हम ActiveRecord नामक एक पैटर्न पर विचार करेंगे, जो एक डेटाबेस टूल है। तुरंत मैं पेशेवरों से दृढ़ता से पूछता हूं कि ऐसे नोटों की आलोचना न करें। उन्हें केवल ब्याज पर लिखा गया था, रूबी ऑन रूबी के साथ एजाइल वेब डेवलपमेंट जैसी किताबें पढ़ने के लिए एक प्रोत्साहन दें।



ActiveRecord और भी अधिक सही ढंग से ORM तकनीक का कार्यान्वयन कहलाएगा:

"ओआरएम (ऑब्जेक्ट-रिलेशनल मैपिंग) एक प्रोग्रामिंग तकनीक है जो डेटाबेस को ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग लैंग्वेज की अवधारणाओं से जोड़ती है, जिससे" वर्चुअल "डेटाबेस" बनता है



रूबी में रूबी में ActiveRecord ने मुझे पहली बार उनसे मिलने पर वास्तव में खुश कर दिया। इसके कार्यान्वयन को विभिन्न वेब रूपरेखाओं जैसे कि RoR, CakePHP, कैसल इत्यादि में पाया जा सकता है। इसका विचार यह है कि प्रत्येक डेटाबेस तालिका एक वर्ग में बदल जाती है, प्रत्येक तालिका पंक्ति इस वर्ग की एक वस्तु में बदल जाती है। ActiveRecord तालिका में प्रत्येक स्तंभ के डेटा के साथ काम करने के लिए तरीके प्रदान करता है।



कहते हैं, हमार-आबादी के उपयोगकर्ताओं के डेटा के साथ एक तालिका है, तो हम एक नए कॉमरेड के बारे में एक प्रविष्टि जोड़ सकते हैं जो इन क्रमबद्ध पंक्तियों को इस तरह से फिर से भरना चाहते हैं:

x = User.new

x.name = " "

x.login = "ivanov"

x.email = "no@reply.com"

x.homepage = "ivanov-thebest.com -- "

x.save







ये मैजिक ऑपरेशंस डेटाबेस के लिए निम्न अनुरोध बनाएंगे और भेजेंगे:



INSERT INTO users (name, login, email, homepage) VALUES

\ (' ', 'ivanov', 'no@reply.com', 'ivanov-thebest.com -- ');








कम सफलता के साथ, आप इस तरह से डेटाबेस से रिकॉर्ड खोज और चुन सकते हैं:

#

f = User.find(:all)

# ivanov

search_str = "ivanov"

f = User.find(:first, :conditions => ["login = ?", search_str])







यह तकनीक स्वचालित रूप से हमें SQL इंजेक्शन से बचाएगी (यह ऊपर के संस्करण में हमारे लिए रेल द्वारा किया जाएगा), और निम्नलिखित क्वेरी भी उत्पन्न करेगा:



SELECT * FROM users WHERE login = 'ivanov'







रेल और उनके देखभाल करने वाले डेवलपर्स के लिए धन्यवाद, उपरोक्त को और भी सरल बनाया जा सकता है:



f = User.find_by_login("ivanov")







यहां, एक बहुत ही संक्षिप्त सारांश में, गियर की व्यवस्था की गई है :) और जो रुचि रखते हैं, मैं आपको ActiveRecord पर RelsoViki पृष्ठ से शुरू करने की सलाह देता हूं, और फिर (यदि आप तुरंत पहले नरक जाना चाहते हैं) तो सक्रिय रिकॉर्ड संदर्भ सत्यापन खोलें। मैं आलसी लोगों को सुझाव देता हूं कि वे इस ब्लॉग को पढ़ना जारी रखें, हम निश्चित रूप से आपको कुछ और बताएंगे, ActiveRecord कहानियों का लाभ कोई अंत नहीं है। बोल्ड - निरंतरता के लिए इंतजार न करें, लेकिन कोशिश-कोशिश-कोशिश करें।



All Articles