2009-07-22 10 views
23

मैं पढ़ रहा हूं कि विकास दृष्टिकोण से कितना महान कोडनिर्देशक है। और मुझे यकीन है कि ढांचे का उपयोग विकास प्रक्रिया को तेज कर देगा। लेकिन सवाल मैं खुद से पूछता हूं, क्या व्यक्तिगत रूप से बनाए गए ढांचे में कोई अंतर आएगा, जो आपकी आवश्यकताओं को पूरा करता है?क्या कोडइग्निटर बड़े अनुप्रयोगों के लिए एक बुद्धिमान विकल्प है?

विज्ञापित छोटे पदचिह्न के बावजूद सीआई है, जो सिस्टम के नीचे "बोग" करने जा रहा है क्योंकि यह मूल रूप से ढांचे पर एक ढांचा है (बाद में PHP के रूप में PHP का संदर्भ है)? क्या भार फैलाने के अच्छे तरीके हैं? क्या सीआई के साथ जंगली जंगलों में कोई बड़ा आवेदन किया गया है?

धन्यवाद कैस्पर।

+12

"सी के ढांचे के रूप में PHP का जिक्र करते हुए" - फिर आपको मुझे कई लीटर पानी के लिए ढांचे के रूप में संदर्भित करना चाहिए ;-) – VolkerK

+3

"बड़े अनुप्रयोगों" से आपका क्या मतलब है? –

+4

यदि PHP "सी के ढांचे के रूप में" सिस्टम को दबा दिया गया है, तो PHP एक व्यवहार्य वेब तकनीक नहीं होगी। यदि आप चाहते हैं तो सी में वेब साइट्स लिखने के लिए आपका स्वागत है। : डी – zombat

उत्तर

22

मैं लगभग 11 के फाइलों के साथ कोडलाइनर साइट चला रहा हूं।

मैंने अपनी आवश्यकताओं के लिए कोडनिर्देशक की बुनियादी संरचना में भारी संशोधन किया है। उदाहरण के लिए, मेरे पास एक ही सिस्टम फ़ाइलों का उपयोग करके 3 फ्रंट नियंत्रकों के साथ 3 अनुप्रयोग हैं। मैं अपने templating इंजन के रूप में smarty का उपयोग कर रहा हूँ।मेरे पास jquery और prototype/Scriptaculous द्वारा संचालित समृद्ध PHP वेब ऐप्स हैं। मैं फॉर्म सत्यापन, प्रमाणीकरण, सक्रिय रिकॉर्ड, ईमेलिंग इत्यादि का उपयोग करता हूं।

मेरा अनुभव अब तक बहुत सकारात्मक रहा है।

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

आपको अपनी साइट को बड़े 'मेटाग्रुप' में व्यवस्थित करने के बारे में सोचना है क्योंकि कोडिनेटर में 'नियंत्रक' संरचना इस तरह के व्यवहार की अपेक्षा करती है। ('ब्लॉग', 'मर्चेंडाइज', 'मंच', आदि ..)

सीआई प्लगइन जोड़ने के लिए बहुत आसान है।

ढांचा बहुत सारे बकवास को सरल बनाता है जिसे आपको अन्यथा कोड कोड करने की आवश्यकता होती है। यह तेज़, सरल और विन्यास योग्य है।

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

सीआई का मेरा पसंदीदा पहलू एक MySQL डीबी पर सक्रिय रिकॉर्ड के लिए आसान है। डीबी कनेक्शन स्थापित करना और सक्रिय रिकॉर्ड क्वेरी चलाने के लिए यह आसान है।

मैं कहूंगा कि शुरुआत करना बहुत आसान है। बस सुनिश्चित करें कि आप चारों ओर खरीदारी करते हैं और यह पता लगाते हैं कि अपने ऐप में स्मार्ट कैसे प्लग करें। आप कोडिग्निटर के डिफ़ॉल्ट 'दृश्य का उपयोग कर सकते हैं, लेकिन आपके टेम्पलेट्स में लॉग इन होने पर आपको जिस मिनट की आवश्यकता है, आप खराब हो गए हैं।

मैंने प्रत्येक ऐप में एक 'टेम्पलेट्स' और 'सामग्री' क्षेत्र स्थापित किया है जिसे मैं क्रमशः स्मार्ट टेम्पलेट्स और स्थिर सामग्री से भर सकता हूं। बाकी मैं एक डीबी कनेक्शन से खींच सकते हैं।

+4

बिग सीआई उपयोगकर्ता यहां। क्या आप "आपके द्वारा आवश्यक मिनटों को तर्कित कर सकते हैं/अन्यथा आपके टेम्पलेट्स में तर्क" को स्पष्ट कर सकते हैं? तुम्हारा मतलब है कि यह सिर्फ गन्दा है? मैं इस से सहमत हूँ। – stef

+1

हां, मेरे पास एक ही सवाल है। गन्दा, हाँ; "खराब", नहीं। – Smandoli

+3

यदि आप घुंघराले ब्रेसिज़ से बचें और PHP के डिफ़ॉल्ट टेम्पलेटिंग सिंटैक्स का उपयोग करें, तो यह बिल्कुल गन्दा नहीं है, उदा। हैलो । सभी अन्य टेम्पलेट तर्कों के लिए लागू होता है जैसे कि, foreach, आदि – TK123

20

यह वास्तव में एक प्रश्न है कि केवल आप ही जवाब दे सकते हैं। जब आप "बड़ी प्रणाली" के बारे में बात करते हैं, तो आप इसका अर्थ कुछ हद तक इस्तेमाल कर सकते हैं (पृष्ठदृश्य/इत्यादि द्वारा), या ऐसा कुछ जो व्यापार नियमों के एक बड़े समूह को शामिल करता है लेकिन केवल कुछ लोगों द्वारा उपयोग किया जाता है। क्या एप्लिकेशन को तेज़ होने की आवश्यकता है, या आप इसे कई सर्वरों पर संतुलित कर सकते हैं?

आपका "PHP सी पर एक ढांचा है" टिप्पणी काफी हद तक आईएमओ से बाहर है। नहीं, PHP सी के जितना तेज़ नहीं है लेकिन वेब अनुरोधों को संभालने में यह बहुत बेहतर है। PHP दुनिया में कुछ सबसे बड़ी साइटों में उपयोग किया जाता है - फेसबुक मूल रूप से PHP में पूरी तरह लिखा गया था। याहू PHP का थोड़ा सा उपयोग करता है। तो PHP केवल किसी के लिए पर्याप्त तेज़ है, विशेष रूप से यह मानते हुए कि डेटाबेस हमेशा आपकी बाधा बन जाएगा। यदि आपके PHP अनुप्रयोग धीमे हो रहे हैं, तो आप memcache/load balancers/अपने नेटवर्क पर अधिक एप्लिकेशन सर्वर डाल सकते हैं। सामान के PHP अंत को स्केल करना बहुत आसान है।

मैं आपको बता सकता हूं कि अन्य ढांचे के साथ एक संक्षिप्त तुलना है। मैंने सीमित तैनाती में सीआई का उपयोग किया है, ज्यादातर अन्य लोगों की मदद करना, लेकिन मैंने जो देखा है, मुझे पसंद आया है। यह आपको केकेपीएचपी जैसे कुछ पर एक गति-इन-रनटाइम लाभ देता है, लेकिन यह आपके विकास के समय में वृद्धि करेगा (क्योंकि केक की सबसे बड़ी ताकत तेजी से विकसित और तैनाती की क्षमता है)। स्पीड-वार यह ज़ेंड या सिम्फनी के साथ काफी तुलनीय लगता है, जो अभी भी कच्चे PHP को लिखने से लगभग 5-7x धीमी है।

  • CakePHP तेजी से विकास के लिए अच्छा है:

    विभिन्न चौखटे (: नीचे मेरी राय नायब) संक्षेप में। इसका प्रदर्शन सबसे बड़ा ढांचा है, हालांकि 1.3 रिलीज (जल्द ही आ रहा है) आपको एक मुफ्त (एपीआई में कोई बदलाव नहीं, वे सिर्फ PHP4 समर्थन को हटा रहे हैं) 25% स्पीड बूस्ट प्राप्त करना है। यह ActiveRecord पर केंद्रित है, और पूर्ण फीचर्ड साइट को चलाने और चलाने (गंभीरता से, गंभीर रूप से रैपिड डेवलपमेंट/प्रोटोटाइपिंग चॉप) प्राप्त करने के लिए बहुत तेज़ है।

  • ज़ेंड सबसे व्यापक रूप से उपयोग किया जाता है। इसमें मॉड्यूल जोड़ने के साथ सबसे लचीलापन है। यह बहुत तेज है, हालांकि विशेष रूप से हल्के वजन नहीं। एक उद्यम परियोजना के लिए, मैं इस या सिम्फनी के साथ जाऊंगा। मुझे एक गुच्छा विभिन्न पुस्तकालयों का उपयोग करने की तरह लगता है। और उनके नामकरण सम्मेलन थोड़ा कठिन हैं ...
  • सिम्फनी - ज़ेंड टिप्पणियां देखें। हालांकि सिम्फनी को और भी एंटरप्राइज़ माना जाता है।
  • कोडइग्निटर ब्लॉक पर नया गर्म बच्चा है। यह अभी भी "ढांचा" होने के दौरान आपके रास्ते से बाहर रहने पर केंद्रित है, यानी एक ऐसा उपकरण जो आपको अपना काम तेजी से करने में मदद करेगा। यह दौड़ना तेज़ है, लेकिन विकसित करने के लिए थोड़ा धीमा है।
+2

आप इन सभी प्रदर्शन मीट्रिक को कहां खींच रहे हैं? मुझे उन्हें देखना अच्छा लगेगा :) – codingbear

+0

6 महीने पहले से। मुझे लगता है कि पीएमजे ने पहले कुछ परीक्षण चलाए थे। http://paul-m-jones.com/blog/?p=238। केकपीएचपी 1.3 स्पीड बूस्ट के बारे में टिप्पणी केक लोगों से 1.3 की घोषणा से हुई थी (http://debuggable.com/posts/Cake_3_interview_with_Nate_Abelevertisa665a5e-5bfc-4e42-96ee-6d284834cda3) –

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

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