Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Elixir
Code

Erlang और अमृत, भाग 5: फीनिक्स फ्रेमवर्क

by
Difficulty:IntermediateLength:LongLanguages:
This post is part of a series called Introduction to Erlang and Elixir.
Erlang and Elixir, Part 4: Control Flow

Hindi (हिंदी) translation by Afiff Soebarkah (you can also view the original English article)

अब तक हमने देखा है कि कैसे मूल डेटा प्रकार का उपयोग करने के लिए और Erlang वी के सिद्धांतों कोडिंग अमृत भाषा के माध्यम से । अब हम पूरा चक्र जाना होगा और एक काम कर रहे वेब फीनिक्स वेब फ्रेमवर्क का उपयोग कर आवेदन बनाएं ।

फीनिक्स MVC सर्वर साइड पैटर्न का उपयोग करता है और वास्तव में एक बहु परत मॉड्यूलर प्रणाली के शीर्ष परत प्लग (मॉड्यूलर अनुमार्गण, नियंत्रकों, आदि के लिए इस्तेमाल किया विनिर्देश) शामिल है, Ecto (MongoDB, MySQL, SQLite3, PostgreSQL, और MSSQL के लिए DB आवरण) और HTTP सर्वर (चरवाहे) ।

है फीनिक्स संरचना अजगर या पटरियों पर रूबी के लिए Django परिचित प्रतीत होगा । दोनों अनुप्रयोग प्रदर्शन और विकास की गति फीनिक्स के डिजाइन में महत्वपूर्ण कारक थे, और जब अपनी वास्तविक समय सुविधाओं के साथ संयुक्त, वे एक उत्पादन गुणवत्ता वेब अनुप्रयोग ढांचे के रूप में यह शक्तिशाली क्षमता दे ।

शुरू हो रही

अमृत की आवश्यकता है, इसलिए कृपया इस श्रृंखला की शुरुआत में स्थापना के निर्देश को देखें ।

हम भी फीनिक्स काम करने के लिए हेक्स की आवश्यकता होगी (निर्भरता स्थापित करने के लिए) । यहां आदेश हेक्स स्थापित करने के लिए है (यदि आप हेक्स पहले से ही स्थापित है, यह नवीनतम संस्करण के लिए हेक्स का उंनयन होगा):

यदि आप अभी तक अपने आप को अमृत भाषा के साथ नहीं familiarised है, मैं सुझाव है कि आप इस भाग में आगे जाने से पहले इस गाइड के पहले कदम पढ़ने जारी रख सकते हैं ।

ध्यान दें कि यदि आप एक छोटी गाइड पढ़ना चाहते हैं, तो आप भी सीखने अमृत और Erlang गाइड है कि फीनिक्स टीम द्वारा प्रदान की जाती है का उल्लेख कर सकते हैं ।

Erlang

नोट: डिफ़ॉल्ट रूप से, यह एक अमृत स्थापना में शामिल है ।

अमृत चलाने के लिए, हम Erlang आभासी मशीन की जरूरत है क्योंकि अमृत कोड Erlang बाइट कोड के लिए compiles ।

यदि आप एक डेबियन आधारित प्रणाली का उपयोग कर रहे हैं, तो आप को स्पष्ट रूप से Erlang स्थापित करने के लिए सभी आवश्यक संकुल मिल की आवश्यकता हो सकती है ।

फीनिक्स

तो अब है कि हम अमृत और Erlang का ख्याल रखा है, तो आप मिश्रण संग्रह स्थापित करने के लिए तैयार हैं ।

एक मिश्रण संग्रह सिर्फ एक ज़िप फ़ाइल की तरह है, वास्तव में, सिवाय इसके कि यह एक आवेदन शामिल है और साथ ही संकलित बीम फ़ाइलें और अनुप्रयोग के एक विशिष्ट संस्करण से बंधा है ।

मिक्स पुरालेख हम हमारे app का निर्माण कर सकते हैं, जिसमें से एक नया, आधार फीनिक्स आवेदन उत्पन्न करने के लिए क्या प्रयोग करेंगे है!

अपने टर्मिनल में निंनलिखित भागो:

यदि फीनिक्स मिक्स पुरालेख इस आदेश के साथ ठीक से स्थापित नहीं होगा, हम फीनिक्स अभिलेखागार से पैकेज डाउनलोड कर सकते हैं, यह फ़ाइल को बचाने के लिए, और फिर भागो: मिक्स पुरालेख ।/path/to/local/phoenix_new.ez. स्थापित करें

नोड

हम नोड. js संस्करण 5 या अधिक की आवश्यकता होगी, के रूप में फीनिक्स brunch.io पैकेज का उपयोग करने के लिए सीएसएस और जे एस, जो बारी में npm का उपयोग करता है जैसे स्थैतिक संपत्ति संकलन होगा ।

डाउनलोड पृष्ठ से नोड. js डाउनलोड करें । जब डाउनलोड करने के लिए एक पैकेज का चयन, यह ध्यान दें कि फीनिक्स संस्करण 5.0.0 या अधिक की आवश्यकता है महत्वपूर्ण है ।

मैक ओएस एक्स उपयोगकर्ताओं को भी homebrew के माध्यम से नोड. js स्थापित कर सकते हैं ।

यदि आप किसी भी मुद्दे नोड स्थापित है, सरकारी फीनिक्स सहायता गाइड को देखें ।

Postgresql

डिफ़ॉल्ट रूप से, फीनिक्स अनुप्रयोगों के संबंध db सर्वर PostgreSQL का उपयोग करने के लिए कॉंफ़िगर करता है, लेकिन हम-डेटाबेस mysql झंडा जब एक नया आवेदन बनाने के पारित द्वारा mysql के लिए स्विच कर सकते हैं ।

आगे जा रहे हैं, के रूप में हम इस गाइड में Ecto मॉडल के साथ काम करते हैं, हम PostgreSQL और Postgrex अनुकूलक का उपयोग करेंगे ।

तो उदाहरण के साथ पालन करने के लिए, आप PostgreSQL स्थापित करना चाहिए । PostgreSQL विकी अलग ऑपरेटिंग सिस्टम के एक नंबर के लिए अधिष्ठापन गाइड है ।

ध्यान दें कि Postgrex एक प्रत्यक्ष फीनिक्स निर्भरता है, और यह स्वचालित रूप से हमारे निर्भरता के आराम के साथ स्थापित किया जाएगा के रूप में हम अपने app शुरू करते हैं ।

को डिफ़ॉल्ट उपयोगकर्ता

फीनिक्स मानता है कि हमारे PostgreSQL डेटाबेस सही अनुमति और "postgres" का एक पासवर्ड के साथ एक postgres उपयोगकर्ता खाता होगा । यदि ऐसा नहीं है कि आप कैसे सेट करना चाहते हैं, तो कृपया ecto के लिए निर्देश देखें । क्रेडेंशियल्स को अनुकूलित करने के लिए mix कार्य बनाएं ।

कंकाल स्थापित

आप केवल अपने फीनिक्स अनुप्रयोग चल पाने के लिए नंगे हड्डियों चाहते हैं, कोई Ecto या प्लग (कोई db या brunch.io) के साथ, निम्नलिखित के साथ अपने अनुप्रयोग बनाने-no-ब्रंच और-नहीं-Ecto झंडे:

पूर्व उड़ान की जांच

इस बिंदु से, आप होना चाहिए:

  • अमृत
  • Erlang (अमृत स्थापना द्वारा प्रदान की डिफ़ॉल्ट रूप से)
  • हेक्स
  • फीनिक्स मिक्स पुरालेख स्थापित
  • इसके अतिरिक्त, यदि आपने DB और स्थैतिक-एसेट समर्थन के लिए चुना है, तो आपके पास PostgreSQL और नोड भी होगा. js > = 5.0.0, जिस स्थिति में आप अब अपना ऐप्लिकेशन बनाने के लिए तैयार होंगे.

अपना ऐप्लिकेशन बनाना

आप एक फीनिक्स आवेदन बूटस्ट्रैप करने के क्रम में किसी भी निर्देशिका से मिश्रण फीनिक्स. new चला सकते हैं ।

अपनी नई परियोजना के लिए, फीनिक्स या तो एक निरपेक्ष या संबंधित पथ स्वीकार करेंगे; यह मानते हुए कि हमारे आवेदन का नाम hello_world है, इनमें से कोई भी ठीक काम करेगा:

जब आप तैयार हैं, तो बनाएँ आदेश चलाएँ और आप निम्न आउटपुट के समान मिल जाएगा:

यहां तो फीनिक्स निर्देशिका संरचना और अपने अनुप्रयोग के लिए फ़ाइलों के सभी बनाने का ख्याल रखा गया है । आप इसे पसंद के अपने कोड संपादक में फ़ाइलों के लिए सीधे नेविगेट द्वारा क्या पैदा कर रहा है पर एक नज़र ले जा सकते हैं ।

जब यह किया है, हम निर्भरता के लिए पूछ संकेत देखने के लिए स्थापित किया जाना है । हां के साथ आगे बढ़ें:

अब सब कुछ डाउनलोड किया है कि, हम अमृत है कि परियोजना में फ़ाइलें आबाद कर दिया गया है निर्देशिका के लिए सीडी कर सकते हैं, और मिश्रण ecto. create के माध्यम से डेटाबेस बनाने ।

नोट: यह आप इस आदेश को चला रहे है पहली बार है, तो फीनिक्स भी Rebar स्थापित करने के लिए पूछ सकते हैं । Rebar Erlang संकुल बनाने के लिए उपयोग किया जाता है के रूप में स्थापना के साथ आगे बढ़ो ।

डेटाबेस समस्याएं

यदि आप निंन त्रुटि देखें:

कृपया सुनिश्चित करें कि PostgreSQL सेवा चल रही है और प्रदान किए गए उपयोगकर्ता क्रेडेंशियल्स के साथ उपलब्ध है (डिफ़ॉल्ट रूप से उपयोगकर्ता postgres के पासवर्ड के साथ "postgres" का उपयोग किया जाता है) ।

फीनिक्स वेब सर्वर शुरू करो!

अब हम हमारे अमृत अनुप्रयोग के लिए सर्वर शुरू कर सकते हैं! निंन चलाएं:

डिफ़ॉल्ट रूप से, फीनिक्स ४००० पोर्ट पर अनुरोध स्वीकार कर रहा है ।

यात्रा http://localhost:4000, और आप फीनिक्स फ्रेमवर्क स्वागत पृष्ठ देखेंगे ।

The Phoenix Framework Welcome Page

यदि आप ऊपर पृष्ठ नहीं देख सकते, http://127.0.0.1:4000 के माध्यम से यह तक पहुंचने की कोशिश (मामले में स्थानीय होस्ट अपने ओएस पर परिभाषित नहीं है) ।

स्थानीय रूप से, अब हम अनुरोधों हमारे टर्मिनल सत्र में संसाधित किया जा रहा है के रूप में हमारे आवेदन एक iex सत्र में चल रहा है देख सकते हैं । इसे रोकने के लिए, हम ctrl-c दो बार मारा, बस के रूप में हम iex सामांय रूप से बंद करना होगा ।

अपने अनुप्रयोग को कस्टमाइज़ करना

जब फीनिक्स हमारे लिए एक नया आवेदन उत्पंन करता है, यह एक उच्च स्तरीय निर्देशिका संरचना बनाता है, के रूप में हम नीचे निंनलिखित अनुभाग में देखेंगे ।

हम मिश्रण फीनिक्स के माध्यम से एक नया आवेदन बनाया है । नया आदेश, जो एक नया अनुप्रयोग जनरेट किया गया, जैसे कि निर्देशिका संरचना सहित:

अभी के लिए हम वेब निर्देशिका है, जो निंनलिखित शामिल है पर काम कर रहा होगा:

पृष्ठ के शीर्ष पर लोगो को बदलने के लिए हमें स्थिर आस्तियों को संपादित करना होगा, जो कि priv में रखे गए हैं/ लोगो निर्देशिका में इसलिए रखा जाता है: priv/स्थैतिक/images/फीनिक्स. png ।

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

जब हम जे एस या सीएसएस के लिए एक चरण के निर्माण की जरूरत है, हम वेब में संपत्ति जगह/स्थैतिक, और स्रोत फ़ाइलों को अपने संबंधित app. js में निर्मित/

सीएसएस संशोधित

अपने सीएसएस के लिए पथ है वेब/स्थैतिक सीएसएस/ लोगो को बदलने के लिए, 29-36 लाइनों को देखो ।

अपने परिवर्तन करें और फ़ाइल सहेजें, और परिवर्तन स्वचालित रूप से अद्यतन किया जाएगा ।

अपने वेब ब्राउज़र को फिर से लोड करें, या http://localhost:4000 ।

An Updated Landing Page

टेंपलेट्स संशोधित करना

अपने टेम्पलेट की सामग्री को बदलने के लिए, बस वेब/टेम्पलेट्स/लेआउट और वेब/टेम्पलेट्स/पृष्ठ में फ़ाइलों में देखें । आप अपने ऐप्लिकेशन में लाइव परिवर्तन देखने के लिए फ़ाइलों को संशोधित करना शुरू कर सकते हैं.

मानक फीनिक्स templating इंजन EEx का उपयोग करता है, जो एंबेडेड अमृत के लिए खड़ा है । सभी टेम्पलेट फ़ाइलें एक्सटेंशन. eex है ।

टेंपलेट्स किसी दृश्य के लिए सीमित होते हैं, जो बारी में किसी नियंत्रक के लिए सीमित होते हैं ।

फीनिक्स एक वेब बनाता है/टेंपलेट्स निर्देशिका हम इन सब कहां रख सकते हैं । संगठन के लिए, यह नामस्थान इन करने के लिए सबसे अच्छा है, इसलिए यदि आप एक नया पृष्ठ बनाना चाहते हैं, इसका मतलब है कि आप वेब के अंतर्गत एक नई निर्देशिका बनाने के लिए की जरूरत है/टेंपलेट्स और उसके भीतर एक index. html. eex फ़ाइल बनाएं (जैसे वेब/टेंपलेट्स/<My-New-Page>/index.html.eex) ।</My-New-Page>

चलो कि अब करते हैं । वेब/टेंपलेट्स/के बारे में/index. html. eex बनाएं और इसे इस तरह देखो:

विचारों

फीनिक्स में, MVC डिजाइन प्रतिमान के विचारों का हिस्सा कई महत्वपूर्ण काम करता है ।

एक के लिए, दृश्य रेंडर टेंपलेट्स । इसके अतिरिक्त, वे नियंत्रक से रॉ डेटा के लिए एक प्रस्तुति परत के रूप में कार्य, एक टेंपलेट में उपयोग के लिए तैयार करने में एक मध्यम आदमी के रूप में अभिनय ।

एक उदाहरण के लिए, एक first_name क्षेत्र और एक last_name क्षेत्र के साथ एक उपयोगकर्ता का प्रतिनिधित्व करता है जो एक आम काल्पनिक डेटा संरचना ले लो । अब, टेम्पलेट के लिए, हम उपयोगकर्ता का पूरा नाम दिखाना चाहते हैं ।

सबसे अच्छा तरीका के लिए, हम एक समारोह लिखने के लिए first_name और last_name जोड़ना और हमें देखने में एक सहायक प्रदान करने के लिए स्वच्छ, संक्षिप्त और आसानी से पढ़ने योग्य टेंपलेट कोड लिखें ।

आदेश में हमारे AboutController के लिए किसी भी टेंपलेट्स प्रदान करने के लिए, हम एक AboutView की जरूरत है ।

नोट: नाम यहां महत्वपूर्ण है-दृश्य और नियंत्रक के नाम के पहले भाग से मेल खाना चाहिए ।

वेब/दृश्य/about_view. ex बनाएं और इसे इस तरह दिखते हैं:

रूटिंग

कोई नया पृष्ठ देखने के लिए, आपको अपने दृश्य और टेंपलेट के लिए एक मार्ग और एक नियंत्रक सेट करने की आवश्यकता होगी ।

के रूप में फीनिक्स MVC प्रतिमान पर काम करता है, हम सभी भागों में भरने की जरूरत है । यह ज्यादा काम हालांकि नहीं है ।

सादे अंग्रेजी में: इबोला नक्शा अद्वितीय HTTP क्रिया/आगे के निष्पादन के लिए नियंत्रक/

फीनिक्स स्वचालित रूप से वेब पर एक नया आवेदन में हमारे लिए एक रूटर फ़ाइल उत्पंन/ यह वह स्थान है जहां हम इस निंनलिखित अनुभाग के लिए काम करेंगे ।

डिफ़ॉल्ट के लिए मार्ग "फीनिक्स में आपका स्वागत है!" पृष्ठ इस तरह दिखता है ।

यह एक ब्राउज़र में http://localhost:4000/पर जाकर किए गए सभी अनुरोधों को पकड़ने के लिए मतलब है (जो एक http प्राप्त अनुरोध issues) अनुप्रयोग के लिए/रूट पथ और HelloPhoenix. PageController मॉड्यूल में परिभाषित वेब में index फ़ंक्शन करने के लिए उन अनुरोधों के सभी भेजें/ नियंत्रकों/page_controller. ex.

पृष्ठ हम बनाने जा रहे है बस कहेंगे "मेरे app के बारे में" जब हम http://localhost:4000/about के लिए हमारे ब्राउज़र बिंदु । आप टेम्पलेट में अपने ऐप्लिकेशन को सूट करने के लिए अधिक जानकारी भर सकते हैं, इसलिए बस आगे बढ़ें और अपने HTML में लिखें!

एक नया मार्ग

हमारे बारे में पृष्ठ के लिए, हम एक मार्ग को परिभाषित करने की जरूरत है । तो बस वेब खुला एक पाठ संपादक में/ डिफ़ॉल्ट रूप से, इसमें निंन शामिल होंगे; रूटिंग पर अधिक जानकारी के लिए, आधिकारिक रूटिंग मार्गदर्शिका देखें ।

हमारे बारे में अनुभाग के लिए, चलो/about. के लिए एक मिल अनुरोध के लिए रूटर करने के लिए नए मार्ग जोड़ने यह एक HelloPhoenix. AboutController द्वारा संसाधित किया जाएगा, जो हम अगले भाग में निर्माण होगा ।

/about करने के लिए प्राप्त करने के लिए, इस पंक्ति को इस क्षेत्र में जोड़ें "/" रूटर के ब्लॉक । उदा:

पूरा ब्लॉक तो ऐसा दिखेगा:

को कंट्रोलर

हमने रूट, दृश्य और टेम्पलेट सेट किए हैं. तो चलो अब एक साथ सभी भागों डाल दिया है कि हम इसे ब्राउज़र में देख सकते हैं ।

नियंत्रकों अमृत मॉड्यूल के रूप में परिभाषित कर रहे हैं, और एक नियंत्रक के अंदर कार्रवाई अमृत कार्य कर रहे हैं. क्रियाओं का उद्देश्य किसी भी डेटा को इकट्ठा करना और रेंडरिंग के लिए आवश्यक कार्यों को निष्पादित करना है.

/about मार्ग के लिए, हम एक सूचकांक/2 कार्रवाई के साथ एक HelloWorld. AboutController मॉड्यूल की जरूरत है ।

उसके लिए, हम एक वेब बनाने की जरूरत है/नियंत्रकों/about_controller ex और निंनलिखित अंदर डाल:

नियंत्रकों पर अधिक जानकारी के लिए, आधिकारिक नियंत्रक मार्गदर्शिका देखें ।

नियंत्रक संरचना

सभी नियंत्रक क्रियाएँ दो तर्क ले । इनमें से पहला है कॉन, एक struct जो अनुरोध के बारे में डेटा का भार रखती है.

दूसरा परम् परा है, जो अनुरोध पैरामीटर हैं । यहाँ, हम परम् परा का उपयोग नहीं कर रहे हैं, और हम अग्रणी _ जोड़कर कंपाइलर चेतावनियों से बचते हैं.

इस क्रिया के मूल में कॉन रेंडर है, "index. html". यह फीनिक्स एक index. html. eex बुलाया टेंपलेट को खोजने के लिए कहता है और यह प्रदान करते हैं । फीनिक्स एक हमारे नियंत्रक के बाद नाम निर्देशिका में टेंपलेट के लिए दिखेगा, तो वेब/

नोट: टेम्पलेट नाम के रूप में एक एटम का उपयोग करना भी यहाँ काम करेगा: रेंडर कॉन,: सूचकांक, उदाहरण के लिए जब एक का उपयोग कर: सूचकांक एटम. लेकिन टेंपलेट को स्वीकार हेडर के आधार पर चुना जाएगा, तो उदाहरण के लिए "index. html" या "index. json" ।

नए मार्ग का परीक्षण

http://localhost:4000/about यूआरएल का दौरा अब टेम्पलेट, नियंत्रक, देखें और मार्ग हम अब तक परिभाषित किया है प्रदान करेगा!

The About My App Page

कार्यों

तो अब हम एक पृष्ठ बनाया है और app थोड़ा अनुकूलित । लेकिन कैसे हम वास्तव में उपयोगकर्ता इनपुट के साथ कुछ करना है? कार्यों.

हमारे बारे में पृष्ठ के लिए अनुरोध HelloWorld. AboutController द्वारा कार्रवाई शो का उपयोग करके नियंत्रित किया जाएगा । जैसा कि हम पहले से ही पिछले चरणों में नियंत्रक परिभाषित है, हम सिर्फ कोड को एक तरह से चर जो इतनी तरह एक यूआरएल के माध्यम से पारित किया है बनाए रखने के लिए जोड़ने की जरूरत है: http://localhost:4000/about/weather ।

अब हम कोड को संशोधित करने के लिए नए यूआरएल का अनुरोध परम नियंत्रक के माध्यम से प्राप्त होगा और अंततः टेंपलेट के लिए है, अमृत पैटर्न मिलान का उपयोग कर के द्वारा ।

वेब/नियंत्रकों/about_controller. ex में मॉड्यूल करने के लिए निंन जोड़ें:

ब्याज के कुछ अंक यहां:

  • हम पैटर्न शो समारोह में पारित परम के खिलाफ मैच इतना है कि appName चर यूआरएल से मूल्य के लिए बाध्य किया जाएगा ।
  • हमारे उदाहरण के लिए URL (http://localhost:4000/about/weather), appName चर मान मौसम शामिल होंगे ।
  • दिखाएँ क्रिया के भीतर, वहाँ भी रेंडर फ़ंक्शन के लिए कोई तीसरा तर्क दिया गया है: एक कुंजी/मान जोड़ी जहाँ एटम: appName कुंजी है और appName चर मान के रूप में दिया गया है ।

वेब/नियंत्रकों/about_controller. ex की पूर्ण सूची के रूप में इतनी पढ़ता है:

एंबेडेड अमृत

अंत में हमारे पहले टेंपलेट में चर का उपयोग करें, हम अपने शो कार्रवाई के लिए एक फ़ाइल बनाने की जरूरत है ।

फ़ाइल वेब/टेंपलेट्स/के बारे में/दिखाएं. html. eex बनाएं और निंन जोड़ें:

हम एंबेडेड अमृत के लिए विशेष EEx <% =%> सिंटैक्स का उपयोग करते हैं । खोलने टैग एक = हस्ताक्षर, जिसका अर्थ है कि अमृत कोड के बीच मार डाला जाएगा, और बारी में उत्पादन टैग की जगह होगी ।

एप्लिकेशन नाम के लिए हमारे चर @appName के रूप में प्रकट होता है । इस मामले में, यह एक मॉड्यूल विशेषता नहीं है, लेकिन वास्तव में यह मेटा के एक विशेष बिट क्रमादेशित वाक्यविंयास जो नक्शे के लिए में खड़ा है । प्राप्त करें (असाइन करता है,: appName) । परिणाम बहुत आंखों पर अच्छे है और बहुत आसान के साथ एक टेंपलेट में काम करते हैं ।

मार्ग को परिभाषित

हमारे लिए मार्ग http://localhost:4000/about/weather देखने में सक्षम हो, उदाहरण के लिए, हम मार्ग को परिभाषित करने के लिए नियंत्रक हम सिर्फ परिभाषित के लिए कार्रवाई दिखाने के साथ लिंक की जरूरत है ।

अब हमारा काम पूरा हो गया है! यूआरएल http://localhost:4000/about/weather पर जाकर इसे आज़माएं ।

The Landing Page for Weather

निष्कर्ष

अब आप मौलिक ज्ञान के लिए एक फीनिक्स app बनाने के लिए, यह रेखांकन अनुकूलित, और मार्गों, कार्रवाई, नियंत्रकों और अपने अनुप्रयोग के लिए विचार बना है ।

हम Ecto की PostgreSQL सुविधाओं के लिए सेटअप पर छुआ है, लेकिन MVC प्रतिमान के मॉडल हिस्सा पर अधिक विस्तार में जाने के लिए, कृपया Ecto गाइड में अपने पढ़ने जारी है ।

उपयोगकर्ता बातचीत और प्रमाणीकरण बनाने के लिए के रूप में, उदाहरण के लिए, सरकारी फीनिक्स प्रलेखन पर पर प्लग गाइड पर अपने सीखने जारी कृपया ।

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.