केकपीएचपी

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

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

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

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

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

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

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

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

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

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


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

यह भी देखें

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

बाहरी संबंध

 * CakePHP 2 Application Cookbook
 * CakePHP 2 Application Cookbook
 * CakePHP 2 Application Cookbook