केकपीएचपी

केकपीएचपी ओपन-सोर्स वेब फ्रेमवर्क है | यह मॉडल-व्यू-कंट्रोलर (एमवीसी) दृष्टिकोण का अनुसरण करता है और पीएचपी में लिखा गया है, रूबी ऑन रेल्स की अवधारणाओं के बाद तैयार किया गया है, और एमआईटी लाइसेंस के अनुसार वितरित किया गया है।

केकपीएचपी जाने-माने सॉफ्टवेयर इंजीनियरिंग अवधारणाओं और सॉफ्टवेयर डिजाइन प्रतिरूप का उपयोग करता है, जैसे कॉन्फ़िगरेशन मॉडल व्यू कंट्रोलर सक्रिय रिकॉर्ड एसोसिएशन डेटा मैपिंग और फ्रंट कंट्रोलर पर कन्वेंशन का उपयोग किया जाता है

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

दिसंबर 2005 में, L. मास्टर्स और G. J. वुडवर्थ ने केकपीएचपी से संबंधित डेवलपमेंट को बढ़ावा देने के लिए केक सॉफ्टवेयर फाउंडेशन की स्थापना की थी। संस्करण 1.0 मई 2006 में जारी किया गया था।

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

सुविधाएँ
प्लगइन्स डेवलपर्स को कई अनुप्रयोगों में और अन्य डेवलपर्स द्वारा पुन: उपयोग के लिए नियंत्रकों, मॉडल, विचारों और अन्य वर्गों के संयोजन को पैकेज करने की अनुमति देते हैं। केकपीएचपी 3 के बाद से Composer_(software) का उपयोग करके प्लगइन्स इंस्टॉल करना संभव हो गया है। केकपीएचपी ORM (ऑब्जेक्ट-रिलेशनल मैपिंग) सक्रिय रिकॉर्ड प्रतिरूप और डेटा मैपर प्रतिरूप का उन्नत पीएचपी हाइब्रिड है, जो दोनों से मूल अवधारणाओं को उधार लेता है। केकेपीएचपी ओआरएम दो प्राथमिक ऑब्जेक्ट प्रकारों का उपयोग करता है, तालिका वर्ग तालिका (डेटाबेस) का प्रतिनिधित्व करता है, और व्यक्तिगत पंक्ति (डेटाबेस) का प्रतिनिधित्व करने वाली इकाई कक्षाएं। नए ORM के साथी के रूप में केकपीएचपी 3 में क्वेरी बिल्डर पेश किया गया था। क्वेरी बिल्डर हाथों से लिखने के बजाय प्रोग्रामेटिक रूप से एसक्यूएल प्रश्नों के निर्माण के लिए कक्षाओं और विधियों का सेट प्रदान करता है। ORM क्वेरी बिल्डर का व्यापक उपयोग करता है। रूटिंग और रिवर्स रूटिंग। केकेपीएचपी राउटर जटिल हाइपरटेक्स्ट_ट्रांसफर_प्रोटोकॉल एप्लिकेशन रूटिंग की अनुमति देता है, आने वाले अनुरोधों को सही नियंत्रक और कार्रवाई के लिए रूट करता है। रिवर्स रूटिंग मार्गों और लिंक्स के बीच संबंध बनाता है, यह सुनिश्चित करता है कि लिंक हमेशा सही यूनिफ़ॉर्म रिसोर्स लोकेटर  के साथ उत्पन्न होते हैं।

व्यू सेल छोटे, मिनी-नियंत्रक प्रदान करते हैं जो व्यू लॉजिक को इनवॉइस कर सकते हैं और टेम्प्लेट रेंडर कर सकते हैं। ये छोटे, पुन: प्रयोज्य पृष्ठ घटकों को बनाने के लिए आदर्श हैं।

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

डेवलपर्स के लिए ORM या क्वेरी बिल्डर द्वारा उत्पन्न परिणाम सेट को पेजिनेट करना आसान बनाने के लिए स्वचालित पेजिनेशन।

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

प्रशिक्षण
CakeDC द्वारा प्रायोजित आधिकारिक ऑनलाइन प्रशिक्षण पाठ्यक्रम। मासिक लाइव प्रशिक्षण जिसमें कई विषयों को शामिल किया गया है:


 * मानक केकपीएचपी 2 प्रशिक्षण पाठ्यक्रम
 * मानक केकपीएचपी 3 प्रशिक्षण पाठ्यक्रम
 * एडवांस्ड केकेपीएचपी 3 ट्रेनिंग कोर्स
 * स्टैंडर्ड केकेपीएचपी 4 ट्रेनिंग कोर्स

यह भी देखें

 * सर्वर-साइड वेब फ्रेमवर्क की तुलना

बाहरी संबंध

 * केकपीएचपी 2 Application Cookbook
 * केकपीएचपी 2 Application Cookbook
 * केकपीएचपी 2 Application Cookbook