शुरुआती लोगों के लिए CakePHP ट्यूटोरियल: CakePHP फ्रेमवर्क क्या है?

CakePHP ट्यूटोरियल सारांश

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

केकपीएचपी क्या है?

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

CakePHP फ्रेमवर्क का उपयोग क्यों करें?

CakePHP फ्रेमवर्क का उपयोग करने के प्रमुख लाभ/फायदे इस प्रकार हैं:

  • केक PHP अब तक के सबसे तेज वेब डेवलपमेंट प्लेटफॉर्म में से एक है।
  • CakePHP डेवलपर्स को डेटाबेस और SQL क्वेरीज़ पर बेहतर नियंत्रण प्राप्त करने की अनुमति देता है।
  • यह उपयोगकर्ताओं को तेजी से अपने पर्यावरण लचीलेपन को खोए बिना मजबूत वेब एप्लिकेशन विकसित करने में मदद करता है।
  • के लिए सहायता PostgreSQL, SQLite, MySQL, ADODB के लिए PEAR-DB, एक डेटाबेस अमूर्तन लाइब्रेरी।
  • खोज इंजन अनुकूल यूआरएल की सुविधा देता है
  • इनपुट सत्यापन और स्वच्छता उपकरण जैसी सुविधाएं प्रदान करें जो ऐप को सुरक्षित बनाती हैं।
  • परिचित PHP सिंटैक्स के साथ टेम्प्लेटिंग

CakePHP का इतिहास

अब इस CakePHP ट्यूटोरियल में, हम CakePHP फ्रेमवर्क के इतिहास को कवर करेंगे:

साल मील का पत्थर
2005 CakePHP को 15 अप्रैल 2005 को Michal Tatarynowicz द्वारा विकसित किया गया था।
2005 CakePHP ने इसे MIT लाइसेंस के तहत प्रकाशित किया और इसे सामुदायिक डेवलपर्स के लिए खोल दिया।
2005 लैरी ई मास्टर्स ने प्रमुख डेवलपर का पदभार संभाला।
2006 संस्करण 1.0 जारी किया गया
2011 संस्करण 2 जारी किया गया
2014 संस्करण 3 जारी किया गया जो कि पहले के संस्करणों का पूर्णतः निरस्तीकरण है।
2016 CakePHP का संस्करण 3.3.3. कई उन्नत सुविधाओं के साथ जारी किया गया है।
2019 संस्करण 3.7.9 अंतिम संस्करण है जो जारी किया गया है
2021 CakePHP कोर टीम ने CakePHP 4.2.2 की तत्काल उपलब्धता की घोषणा की

CakePHP की विशेषताएं

CakePHP की महत्वपूर्ण विशेषताएं इस प्रकार हैं।

  • सक्रिय, मैत्रीपूर्ण समुदाय
  • MVC वास्तुकला
  • अंतर्निहित सत्यापन
  • किसी भी वेब साइट निर्देशिका से काम करता है, जिसमें कुछ या कोई अपाचे कॉन्फ़िगरेशन शामिल नहीं है।
  • टेम्प्लेटिंग इंजन
  • कैशिंग Operaमाहौल
  • आसान CRUD डेटाबेस इंटरैक्शन.
  • अंतर्निहित सत्यापन
  • ईमेल, कुकी, सुरक्षा, सत्र और अनुरोध जैसे घटकों को संभालना
  • इसके लिए सहायक देखें Javaलिपि, अजाक्स, HTML फॉर्म और अधिक

CakePHP- फ़ोल्डर संरचना

अब इस CakePHP फ्रेमवर्क ट्यूटोरियल में, हम CakePHP फ़ोल्डर संरचना के बारे में जानेंगे।

नीचे CakePHP की फ़ोल्डर संरचना दी गई है:

फ़ोल्डर विवरण
टेस्ट इस फ़ोल्डर में आपके अनुप्रयोग के लिए परीक्षण मामले हैं.
टीएमपी अस्थायी फ़ोल्डर अस्थायी डेटा संग्रहीत करता है.
विक्रेता यह फ़ोल्डर आपको CakePHP संग्रहीत करने में मदद करता है, और अन्य अनुप्रयोग निर्भरताएं स्थापित की जाएंगी।
Webroot RSI Webroot उन सभी फ़ाइलों को संग्रहीत करता है जिन्हें आप सार्वजनिक रूप से पहुंच योग्य बनाना चाहते हैं।
बिन बिन फ़ोल्डर में केक कंसोल निष्पादनयोग्य फ़ाइलें होती हैं।
Logs इसमें आपकी लॉग फ़ाइलें होती हैं, जो आपके लॉग कॉन्फ़िगरेशन पर निर्भर करती हैं।
कॉन्फिग कॉन्फ़िगरेशन फ़ोल्डर CakePHP द्वारा उपयोग की जाने वाली कॉन्फ़िगरेशन फ़ाइलों को संग्रहीत करता है
प्लगइन्स इस फ़ोल्डर में एप्लिकेशन के लिए प्लगइन्स होते हैं। आपके एप्लिकेशन द्वारा उपयोग किए जाने वाले प्लगइन्स यहीं संग्रहीत होते हैं।
src इसमें आपके एप्लिकेशन को प्रबंधित करने के लिए कंसोल कार्य और कमांड शामिल हैं।

लोकेल अंतर्राष्ट्रीयकरण के लिए स्ट्रिंग फ़ाइलों को संग्रहीत करता है।

मॉडल में आपके एप्लिकेशन की तालिकाएं, इकाइयां और व्यवहार शामिल हैं।

CakePHP का कॉन्फ़िगरेशन

CakePHP डिफ़ॉल्ट रूप से एक सिंगल कॉन्फ़िगरेशन फ़ाइल के साथ आता है। यह आपको अपनी आवश्यकताओं के अनुसार इसे संशोधित करने की भी अनुमति देता है। इस उद्देश्य के लिए "config" नामक एक फ़ोल्डर दिया गया है।

चर का नाम विवरण
डीबग करें आपको CakePHP डिबगिंग आउटपुट बदलने की अनुमति देता है।
एप्लिकेशन नामस्थान आपको ऐप वर्गों को खोजने में मदद करता है।
ऐप.बेसयूआरएल जब आप CakePHP के साथ Apache के mod_rewrite का उपयोग नहीं करना चाहते हैं तो इस कीवर्ड को अन-कमेंट करें।
ऐप.एन्कोडिंग यह कमांड आपको यह परिभाषित करने की अनुमति देता है कि आपका एप्लिकेशन किस एन्कोडिंग का उपयोग करता है।
ऐप.बेस यह एक आधार निर्देशिका है जिसमें ऐप रहता है यदि गलत है, तो इसका स्वतः पता लगा लिया जाएगा।
ऐप.fullBaseUrl योग्य डोमेन नाम
ऐप.वेबरूट यह एक वेबरूट निर्देशिका है।
ऐप.wwwरूट वेबरूट का फ़ाइल पथ.
App.jsBaseUrl सार्वजनिक js निर्देशिका का पथ.
ऐप.पथ गैर-वर्ग आधारित संसाधनों के लिए पथ कॉन्फ़िगर करें.
ऐप.cssBaseUrl यह वेबरूट के अंतर्गत सार्वजनिक सीएसएस निर्देशिका के लिए एक वेब पथ है।
सुरक्षा.नमक यह हैशिंग में प्रयुक्त एक यादृच्छिक स्ट्रिंग है।
एसेट.टाइमस्टैम्प यह वेरिएबल आपको उचित हेल्पर्स का उपयोग करते समय टाइमस्टैम्प जोड़ने की अनुमति देता है।

केक- PHP नामकरण परंपराएँ

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

MVC भागों को नीचे दिए गए सिंटैक्स का पालन करना होगा:

फ़ाइल नाम कक्षा का नाम आधार वर्ग का नाम स्थान
आदर्श फ़ाइल नाम
.php एक्सटेंशन के साथ तालिका नाम का एकवचन रूप उदाहरण: order.php
कैमल केस में फ़ाइल का नाम, उदाहरण: ऑर्डर ऐप मॉडल /ऐप/मॉडल
नियंत्रक .php एक्सटेंशन के साथ tablename_controller, उदाहरण: ordcrs_controllcr.php तालिका नाम संलग्न नियंत्रक, उदाहरण: OrdcrsController ऐपकंट्रोलर /ऐप/नियंत्रक
देखें .ctp एक्सटेंशन के साथ नियंत्रक में क्रिया का नाम, उदाहरण: add.ctp कोई वर्ग नहीं; एक दृश्य सी HTML टैग और PHP. ' /ऐप/व्यूज़/नियंत्रक नाम

डेटाबेस कॉन्फ़िगरेशन

CakePHP आपको डेटाबेस को कॉन्फ़िगर करने की अनुमति देता है कॉन्फ़िगरेशन/app.php फ़ाइल। यह दिए गए मापदंडों के साथ डिफ़ॉल्ट कनेक्शन प्रदान करता है जिसे आप अपनी पसंद के अनुसार संशोधित कर सकते हैं।

महत्वपूर्ण मापदंड नीचे दिए गए हैं:

डाटाबेस डेटाबेस का नाम
पोर्ट (वैकल्पिक)
एन्कोडिंग
सर्वर से कनेक्ट करने के लिए प्रयुक्त TCP पोर्ट या यूनिक्स सॉकेट।
समय क्षेत्र सर्वर समयक्षेत्र सेट करना है.
स्कीमा यह आपको यह निर्दिष्ट करने में मदद करता है कि आप कौन सी स्कीमा का उपयोग कर सकते हैं।
यूनिक्स_सॉकेट यह डेटाबेस ड्राइवरों द्वारा यूनिक्स सॉकेट फ़ाइलों के माध्यम से कनेक्ट करने के लिए उपयोग किया जाता है।
एसएसएल कुंजी यह SSL कुंजी फ़ाइल का फ़ाइल पथ है।
एसएसएल_प्रमाणपत्र यह SSL प्रमाणपत्र फ़ाइल का फ़ाइल पथ है।
एसएसएल_सीए यह SSL प्रमाणपत्र प्राधिकरण के लिए फ़ाइल पथ है।
लॉग इन यह शब्द आपको क्वेरी लॉगिंग करने में मदद करता है।
में इस प्रश्नों की एक सूची जो कनेक्शन बनाते समय डेटाबेस सर्वर को भेजी जानी चाहिए।
यदि आप आरक्षित शब्द या विशेष वर्ण का उपयोग करना चाहते हैं तो इसे सत्य पर सेट करें

CakePHP में MVC कैसे काम करता है?

अब, हम इस CakePHP फ्रेमवर्क ट्यूटोरियल में सीखेंगे कि CakePHP में MVC कैसे काम करता है।

यह वेब एप्लिकेशन के प्राइम मैकेनिज्म को बनाने का एक गतिशील तरीका है। मॉडल, दृश्य और नियंत्रक - एक दूसरे को अलग करते हैं।

CakePHP में MVC आर्किटेक्चर
CakePHP में MVC आर्किटेक्चर

केक PHP संचालन को तीन भागों में विभाजित करता है:

  • मॉडल: सभी डेटाबेस इंटरैक्शन के लिए उपयोग किया जाता है।
  • दृश्य: सभी आउटपुट और डिस्प्ले के लिए उपयोग किया जाता है।
  • नियंत्रक: अनुप्रयोग प्रवाह को नियंत्रित करने के लिए उपयोग किया जाता है

CakePHP में MVC आर्किटेक्चर का उपयोग करने के चरण यहां दिए गए हैं:

चरण 1) क्लाइंट या उपयोगकर्ता दृश्य के साथ इंटरैक्ट करता है

चरण 2) विशिष्ट घटना के अलर्ट नियंत्रक देखें.

चरण 3) यह मॉडल को डेटाबेस अनुरोध भेजता है और नियंत्रक मॉडल को अद्यतन करता है।

चरण 4) मॉडल दृश्य को सचेत करता है कि इसमें परिवर्तन हो गया है।

चरण 5) दृश्य मॉडल डेटा प्राप्त करता है और प्राप्त डेटा के अनुसार स्वयं को अपडेट करता है।

एमवीसी का उपयोग क्यों करें?

  • CakePHP MVC आपको व्यावसायिक तर्क को प्रस्तुतिकरण और डेटा पुनर्प्राप्ति से अलग करने में मदद करता है।
  • एक साइट तार्किक खंडों में विभाजित होती है जिसे आप एक विशिष्ट नियंत्रक से नियंत्रित कर सकते हैं।
  • किसी एप्लिकेशन का परीक्षण और डिबगिंग करते समय, कोई भी डेवलपर कोड की पूरी जानकारी के बिना आपको त्रुटियों का पता लगाने और उन्हें ठीक करने में मदद करता है।

CakePHP फ्रेमवर्क का उपयोग करने के नुकसान

  • CakePHP का दस्तावेज़ीकरण उतना व्यापक नहीं है जितना होना चाहिए।
  • CakePHP सॉफ्टवेयर का उपयोग करने के लिए, डेवलपर को फैंसी URL बनाने के लिए डिफ़ॉल्ट रूट को अपडेट करने की आवश्यकता होती है, जो कि अन्य PHP फ्रेमवर्क की तुलना में बहुत अधिक काम है।
  • अन्य फ्रेमवर्क की तुलना में CakePHP एकतरफा रूटिंग है।
  • PHP सीखना ढांचा आसान नहीं है.
  • रूबी ऑन रेल्स जैसे फ्रेमवर्क के साथ तुलना करने पर वन-वे रूटिंग की पेशकश एक और नुकसान है।

सारांश

  • CakePHP एक ओपन-सोर्स फ्रेमवर्क है जो PHP ऐप्स के विकास और रखरखाव को बहुत आसान बनाने में मदद करता है।
  • CakePHP डेवलपर्स को डेटाबेस और SQL क्वेरीज़ पर बेहतर नियंत्रण प्राप्त करने की अनुमति देता है।
  • इसे 15 अप्रैल 2005 को माइकल टाटारिनोविच द्वारा विकसित किया गया था
  • MVC आर्किटेक्चर और अंतर्निहित सत्यापन CakePHP की सबसे महत्वपूर्ण विशेषताएं हैं
  • CakePHP डिफ़ॉल्ट रूप से एक एकल कॉन्फ़िगरेशन फ़ाइल के साथ आता है जो आपको अपनी आवश्यकताओं के अनुसार इसे संशोधित करने की अनुमति देता है।
  • CakePHP की नामकरण पद्धति आपको वेब अनुप्रयोग के संचालन को व्यवस्थित करने की अनुमति देती है।
  • CakePHP आपको config/app.php फ़ाइल में डेटाबेस को कॉन्फ़िगर करने की अनुमति देता है।
  • केक PHP MVC संचालन को तीन भागों में विभाजित करता है:
  • मॉडल: सभी डेटाबेस इंटरैक्शन के लिए उपयोग किया जाता है, दृश्य: सभी आउटपुट और डिस्प्ले के लिए उपयोग किया जाता है, नियंत्रक: एप्लिकेशन प्रवाह को नियंत्रित करने के लिए उपयोग किया जाता है
  • CakePHP में MVC का उपयोग करने का सबसे बड़ा लाभ यह है कि यह आपको व्यावसायिक तर्क को प्रस्तुति और डेटा पुनर्प्राप्ति से अलग करने में मदद करता है।
  • CakePHP की सबसे बड़ी कमी यह है कि CakePHP का दस्तावेज़ीकरण समर्थन उतना व्यापक नहीं है जितना होना चाहिए।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: