Twig PHP टेम्पलेट इंजन: पूरी गाइड उदाहरण सहित

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Twig PHP: Symfony का पूर्ण टेम्पलेट इंजन गाइड

Twig एक आधुनिक, तेज़ और सुरक्षित टेम्पलेट इंजन है जो PHP भाषा के लिए Symfony टीम द्वारा विकसित किया गया है। यह डेवलपर्स को एक शक्तिशाली लेकिन सहज सिंटैक्स प्रदान करता है, जो प्रेजेंटेशन लॉजिक (टेम्पलेट्स) को एप्लिकेशन की बिज़नेस लॉजिक से अलग करता है। Twig वेब डेवलपमेंट की एक मुख्य समस्या को हल करता है: PHP कोड को HTML के साथ मिलाना, जिससे "स्पेगेटी कोड" बनता है और प्रोजेक्ट की पठनीयता और रखरखाव कम हो जाता है।

Twig का मुख्य उद्देश्य टेम्पलेट्स को साफ, सुरक्षित और आसानी से पढ़ने योग्य बनाना है। शुद्ध PHP के विपरीत, Twig डेवलपर को टेम्पलेट के अंदर मनमाना कोड चलाने से रोकता है, जो XSS हमलों (क्रॉस-साइट स्क्रिप्टिंग) जैसी सामान्य कमजोरियों को रोकता है, क्योंकि यह आउटपुट को स्वचालित रूप से एस्केप करता है। जटिल <?php foreach(...): ?> कंस्ट्रक्ट के बजाय, आप संक्षिप्त {% for item in items %} का उपयोग करते हैं, और <?= $var ?> के बजाय {{ var }} का। यह टेम्पलेट्स को उन डिज़ाइनरों और फ्रंटएंड डेवलपर्स के लिए भी सुलभ बनाता है जो PHP से परिचित नहीं हैं।

Twig Symfony फ्रेमवर्क के लिए डी-फैक्टो मानक है, लेकिन यह Laravel (twigbridge पैकेज के माध्यम से), Drupal, WordPress के साथ भी बेहतरीन रूप से एकीकृत होता है, और किसी भी PHP प्रोजेक्ट में एक स्वतंत्र लाइब्रेरी के रूप में उपयोग किया जा सकता है। टेम्पलेट इनहेरिटेंस, मैक्रोज़, सैंडबॉक्स और ऑटोमैटिक एस्केपिंग जैसी सुविधाओं के कारण, Twig PHP इकोसिस्टम में सबसे लोकप्रिय टेम्पलेट इंजनों में से एक है।

इंस्टॉलेशन

Twig को इंस्टॉल करने के लिए Composer डिपेंडेंसी मैनेजर का उपयोग करें। सुनिश्चित करें कि Composer ग्लोबली इंस्टॉल है।

composer require twig/twig:^3.0

कमांड चलाने के बाद, आपके प्रोजेक्ट में vendor/ फ़ोल्डर और composer.json फ़ाइल जुड़ जाएगी। क्लासेज को ऑटोलोड करने के लिए मानक vendor/autoload.php फ़ाइल का उपयोग करें।

त्वरित शुरुआत: न्यूनतम कार्यशील उदाहरण

एक सरल टेम्पलेट बनाएं और उसे प्रदर्शित करें। प्रोजेक्ट संरचना:

project/
├── templates/
│   └── hello.html.twig
├── vendor/
└── index.php

टेम्पलेट: templates/hello.html.twig

<!DOCTYPE html>
<html>
<head>
    <title>अभिवादन</title>
</head>
<body>
    <h1>नमस्ते, {{ name }}!</h1>
    <p>आज की तारीख {{ "now"|date("d.m.Y") }} है।</p>
</body>
</html>

PHP स्क्रिप्ट: index.php

<?php
require_once 'vendor/autoload.php';

use Twig\Environment;
use Twig\Loader\FilesystemLoader;

// 1. एक लोडर बनाएं जो टेम्पलेट फ़ोल्डर को इंगित करता है
$loader = new FilesystemLoader('templates');

// 2. Twig एनवायरनमेंट बनाएं
$twig = new Environment($loader, [
    'cache' => 'cache', // कैशिंग के लिए पथ (अनुशंसित)
    'auto_reload' => true, // बदलाव पर ऑटो-रिलोड (डेवलपमेंट के लिए)
]);

// 3. टेम्पलेट को रेंडर करें, वेरिएबल्स पास करें
echo $twig->render('hello.html.twig', ['name' => 'दुनिया']);
?>

ब्राउज़र में index.php खोलें। आपको "नमस्ते, दुनिया!" शीर्षक और वर्तमान तारीख के साथ एक पेज दिखाई देगा।

Twig के मुख्य तरीके और फंक्शन

नीचे Twig के साथ काम करने के मुख्य तरीके और कंस्ट्रक्ट दिए गए हैं।

1. Environment::render() — टेम्पलेट रेंडर करना

सिग्नेचर: public function render(string $name, array $context = []): string

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

<?php
// 'profile.html.twig' टेम्पलेट के अंदर $us वेरिएबल उपलब्ध होगा                    

अनुशंसाएँ