2012-01-24 12 views
15

मुझे हमारे आवेदन में जो कुछ दोहराया गया पृष्ठ सीआरयूडी संरचनाओं (जो केकेपीएचपी ढांचे पर बनाया गया है) के लिए बैकबोन.जेएस को लागू करने में दिलचस्पी है। मैं यह पता लगाने के दौरान बैकबोन पर पकड़ पकड़ने की कोशिश कर रहा हूं कि यह कैसे केक के साथ मिलकर काम करेगा, और जब मैं दोनों पक्षों के कर्तव्यों को अलग करने की बात आती हूं तो मैं थोड़ा सा खो देता हूं।बैकबोन.जेएस और केकेपीएचपी

क्या मैं जिमी की कोशिश कर रहा हूं मेरी साइट में कुछ ऐसा करने की ज़रूरत नहीं है? क्या इस तरह की ढेर संरचना के लिए प्राथमिकता है? मैं इस बिंदु पर सभी कान हूं।

+0

टिप्पणी, क्योंकि मेरे पास वास्तव में एक संपूर्ण जवाब नहीं है। मुझे लगता है कि रीढ़ की हड्डी एक (आराम-) एपीआई के साथ सबसे अच्छी तरह से काम करती है, इसलिए केकेपीएचपी के साथ आपको जो परिप्रेक्ष्य लेना चाहिए वह JSON अनुरोधों और प्रतिक्रियाओं के साथ सभी कार्यों को संभालना है। – Evert

+0

तो ऐप के एपीआई/प्लेटफॉर्म साइड को और अधिक अच्छी तरह से एक्सेस पॉइंट के रूप में विकसित करें? – dclowd9901

+1

मुझे लगता है कि आप एक नियमित केकफैप फॉर्म की तरह काम करने के लिए _could_ rig रीढ़ की हड्डी मानक फॉर्म सबमिशन के साथ काम करते हैं लेकिन एक एपीआई का उपयोग करना अधिक उचित हो सकता है और बैकबोन के साथ बेहतर काम कर सकता है। मुझे लगता है कि यह वास्तव में यह भी निर्भर करता है कि आप किस लक्ष्य को रीढ़ की हड्डी के साथ प्राप्त करने की कोशिश कर रहे हैं। आप इसे बहुत सारी चीजों के लिए उपयोग कर सकते हैं, लेकिन मुझे लगता है कि वैधता भी बनाते हैं। – Evert

उत्तर

28

मैं वास्तव में एक ही स्थिति के माध्यम से वास्तव में काम कर रहा हूं (हालांकि पायथन/फ्लास्क, लेकिन वही अवधारणाओं को किसी भी सर्वरसाइड भाषा पर लागू होना चाहिए)। यहां एक पृष्ठ के लिए वर्कफ़्लो मेरे एप्लिकेशन में कैसे जाता है। बस एक नोट है कि मैं एकल पृष्ठ एप्लिकेशन प्रारूप का पालन नहीं करता; मेरे ऐप में, प्रत्येक प्रमुख पृष्ठ एक पूर्ण रीलोड है।

  1. उपयोगकर्ता एक पेज कंपनियों की एक सूची का अनुरोध करता है, कहते हैं,/कंपनियों/सूची/
  2. सर्वर सही नियंत्रक लोड हो रहा है
  3. नियंत्रक लोड पहले एक्स कंपनियों डीबी से
  4. कंपनियों JSON
  5. के रूप में इनकोड, मार्ग करता है
  6. अन्य मेटा डेटा (ऐसी कंपनियों की कुल संख्या के रूप में) भरी हुई है और JSON
  7. में बदल सूची पृष्ठ टेम्पलेट भरी हुई है और JSON टेम्पलेट के भीतर एक < स्क्रिप्ट > टैग में पॉप। यहां ध्यान दें I लिस्टिंग तालिका या उन पंक्तियों के साथ कुछ भी भरें, मैंने बैकबोन को यह सब करने दिया है। मैं यहां JSON भरता हूं ताकि क्लाइंट को
  8. के प्रारंभिक सेट के लिए दूसरा अनुरोध नहीं करना पड़ेगा पृष्ठ पृष्ठ क्लाइंट को भेजा गया है। सर्वर अब
  9. ग्राहक के पास सभी डेटा शुरू करने की आवश्यकता है, इसलिए मैं JSON लेता हूं और इसे अपने बैकबोन में पास करता हूं। लिस्टिंग पृष्ठ
  10. दृश्य दृश्यों और प्रबंधन के लिए संग्रह बनाता है सूची में प्रविष्टियों का प्रतिनिधित्व करने वाले उप-विचारों का एक सेट
  11. कोई अन्य प्रसंस्करण/दृश्य निर्माण होता है जैसे पृष्ठों का निर्माण, पिछला/अगला बटन, आदि
  12. यदि उपयोगकर्ता अगले पृष्ठ पर क्लिक करता है , मैं सर्वर पर एक AJAX क्वेरी (/ कंपनियों/लिस्टिंग/पेज/1 या कुछ) को आग लगाता हूं जो मॉडलों के नए सेट के साथ एक नया JSON स्ट्रिंग देता है
  13. मेरे बैकबैक में मॉडल का नया सेट भेजें एक। देखें जो सब कुछ रीफ्रेश करता है

तो वास्तव में, सर्वर का उपयोग डेटा की वास्तविक लोडिंग और टेम्पलेट के प्रारंभिक प्रेषण के अलावा कुछ भी नहीं किया जाता है। मुझे यह पसंद है क्योंकि यह मुझे आसानी से नई फ्रंटेंड्स (कह सकता है, एक आईपैड ऐप या कुछ) को हुक करने की अनुमति देगा।

एक रूप के लिए, वास्तव में व्यापक स्ट्रोक में, मैं कुछ इस तरह करते हैं:

  1. उपयोगकर्ता प्रपत्र अनुरोध करता है,/कंपनियों/संपादित करें/1
  2. सर्वर, जाँच अनुमतियाँ लोड प्रवेश करता है, भेजता है टेम्पलेट/JSON ग्राहक के लिएसर्वर डेटा
  3. ग्राहक JSON का उपयोग करता प्रपत्र
  4. ग्राहक प्रपत्र को संशोधित करता है को भरने के लिए के साथ फॉर्म भरें नहीं करता है, प्रस्तुत
  5. सभी उनके परिवर्तन के मॉडल पर लागू होने वाली हिट, मॉडल में बदल गया है JSON और सर्वर AJAX का उपयोग कर
  6. सर्वर ग्राहक के लिए सत्यापन करता है और या तो भेजता त्रुटि संदेश (JSON में) या डेटाबेस को अद्यतन करता है और एक सफलता संदेश

तो, फिर से, उन वास्तव में व्यापक स्ट्रोक पर हैं भेजता है के लिए भेजा मैंने इसे कैसे किया है। आम तौर पर, मैं डेटाबेस से डेटा को पकड़ने के लिए सर्वर का उपयोग करता हूं, सर्वर साइड सत्यापन (ग्राहक को भरोसा नहीं कर सकता), और डेटाबेस अद्यतन करें।

यदि आपके कुछ विशिष्ट प्रश्न हैं, तो मुझे अब तक जो कुछ सीखा है उसे साझा करने का प्रयास करने में मुझे खुशी होगी।

+0

+1 ने व्यापक रूप से – vikmalhotra

+0

का उत्तर दिया मुझे संदेह था कि मैं पेज JSON को बैकबोन में आगे लोड कर रहा हूं, और आपने जो कहा है उसे पुष्टि करता है। मुझे यह जानकर खुशी हो रही है कि मैं कम से कम सही रास्ते पर था। इस उत्तर के लिए बहुत बहुत धन्यवाद। बहुत व्यापक, और मुझे wtih शुरू करने के लिए एक अच्छी प्रक्रिया देता है। – dclowd9901

+0

कोई समस्या नहीं है। हैप्पी यह सहायक था। –