"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > प्योर वेनिला PHP प्रोजेक्ट के साथ लारवेल ब्लेड टेम्प्लेटिंग इंजन का उपयोग कैसे करें?

प्योर वेनिला PHP प्रोजेक्ट के साथ लारवेल ब्लेड टेम्प्लेटिंग इंजन का उपयोग कैसे करें?

2024-07-31 को प्रकाशित
ब्राउज़ करें:542

How to Use Laravel Blade Templating Engine with a Pure Vanilla PHP Project?

आज, मैंने शुद्ध वेनिला PHP का उपयोग करके लारवेल एमवीसी (मॉडल, व्यू, कंट्रोलर) दृष्टिकोण को लागू करने के लिए खुद को चुनौती दी। इससे निपटने के लिए, मैंने प्रोजेक्ट के दृश्य भाग के लिए मानक लारवेल ब्लेड टेम्प्लेटिंग इंजन का उपयोग किया, लेकिन लारवेल को स्थापित किए बिना क्योंकि मेरा प्रोजेक्ट पूरी तरह से वेनिला PHP है। यहां बताया गया है कि मैंने यह एकीकरण कैसे हासिल किया;

मैंने निम्नलिखित कंपोजर कमांड का उपयोग करके JensSegers द्वारा ब्लेड नामक एक पैकेज स्थापित करके शुरुआत की:

composer require jenssegers/blade

यह पैकेज ब्लेड टेम्प्लेटिंग इंजन को एक स्टैंडअलोन पैकेज के रूप में उपयोग करने की अनुमति देता है, जो इसे केवल लारवेल ही नहीं बल्कि किसी भी PHP प्रोजेक्ट के साथ संगत बनाता है।

इसके बाद, मैंने पैकेज की इल्युमिनेट/व्यू निर्भरता को संस्करण 11.7.0 में अद्यतन करने के लिए निम्नलिखित कमांड चलाया, क्योंकि पैकेज 11.7.0 से नीचे के संस्करणों के साथ सही ढंग से काम नहीं करता है:

composer require illuminate/view:11.7.0

फिर, मैंने "पोस्ट" नामक तालिका के साथ "पीडीओटेस्ट" नामक एक डेटाबेस बनाया, जिसमें कॉलम "नाम" और "बॉडी" हैं। मैंने इस तालिका को क्रमशः डेटा से भर दिया ('यह ब्लेड टेम्पलेट इंजन का उपयोग करके प्रदर्शित डेटाबेस से पोस्ट नाम है', 'यह ब्लेड टेम्पलेट इंजन का उपयोग करके प्रदर्शित डेटाबेस से पोस्ट बॉडी है') और मेरे रूट में Database.php फ़ाइल बनाकर इससे जुड़ा हुआ है प्रोजेक्ट करें और निम्नलिखित कोड डालें:

host;dbname=$this->database",$this->username,$this->password);

        // $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        // $conn = $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


        return $conn;

    } catch (PDOException $e) {

        echo "Connection failed: " . $e->getMessage();

    }
}

}


?>

इसके बाद, मैंने सभी डेटाबेस जोड़तोड़ के लिए "मॉडल" नामक एक निर्देशिका बनाई। इस निर्देशिका के अंदर, मैंने "पोस्ट" तालिका पर संचालन को संभालने के लिए Post.php नामक एक फ़ाइल बनाई। इस फ़ाइल में, मैंने किसी पोस्ट को उसकी आईडी के आधार पर पुनः प्राप्त करने के लिए पोस्ट नामक एक विधि परिभाषित की है, जैसा कि नीचे दिखाया गया है:

conn = (new Database)->connect(); // Access directly (less secure)
}


public function getPost($id){

    $stmt= "SELECT * FROM $this->table WHERE id = :id";

    $stmt =  $this->conn->prepare($stmt);

    $stmt->bindParam(':id', $id, PDO::PARAM_INT);

    $stmt->execute();

    return $result = $stmt->fetch();

}


}


?>

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

post();

?>

फिर, मैंने अपने प्रोजेक्ट के मूल में एक "नियंत्रक" निर्देशिका बनाई। इसके अंदर, मुझे Index.php (राउटर) से ब्लेड वैरिएबल प्राप्त हुआ, जिसे पोस्ट मॉडल की getPost विधि कहा जाता है ताकि इसकी आईडी द्वारा एक पोस्ट प्राप्त की जा सके, और उस पोस्ट को "होमपेज" नामक ब्लेड व्यू में पास कर दिया।

blade = $blade;
    }

  public function post(){

    $post = (new Post)->getPost(1);

    echo $this->blade->render('homepage', ['post' => $post]);


  }

}




?>

फिर, मैंने प्रोजेक्ट के मूल में "views" नामक एक निर्देशिका और होमपेज.ब्लेड.php नामक एक फ़ाइल बनाई। इस फ़ाइल के अंदर, मैंने बस पोस्टकंट्रोलर से पारित पोस्ट का नाम प्रदर्शित किया, जैसा कि नीचे दिखाया गया है:

{{$post['name']}}

आखिरकार, मैंने ब्लेड कैश फ़ाइलों को संग्रहीत करने के लिए अपने प्रोजेक्ट के रूट में एक "कैश" निर्देशिका बनाई, जो मेरे प्रोजेक्ट के प्रदर्शन को बेहतर बनाने में मदद करती है।

अब, जब आप अपने ब्राउज़र में http://localhost/laravel-blade-without-laravel/index.php पर जाते हैं, तो आपको पोस्ट का नाम "यह ब्लेड टेम्पलेट का उपयोग करके प्रदर्शित डेटाबेस से पोस्ट नाम है" के रूप में प्रदर्शित दिखाई देगा। इंजन।"

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

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/waziridev/how-to-use-laravel-blade-templating-engine-with-a-pure-vanilla-php-project-5h1a?1 यदि कोई उल्लंघन है , कृपया स्टडी_गोलंग @163.कॉमडिलीट से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3