الفرق بين المراجعتين ل"Twig/intro"
جميل-بيلوني (نقاش | مساهمات) ط |
جميل-بيلوني (نقاش | مساهمات) ط |
||
سطر 2: | سطر 2: | ||
مرحبًا بك في توثيق محرك القوالب Twig، المحرك المرن السريع الآمن للغة PHP، هذا المحرك مصمم ليناسب المصممين والمطورين على حد سواء بالتزامه بمبادئ لغة PHP وإضافة وظائف مفيدة وعملية لبيئات القولبة، وهذه المزايا هي: | مرحبًا بك في توثيق محرك القوالب Twig، المحرك المرن السريع الآمن للغة PHP، هذا المحرك مصمم ليناسب المصممين والمطورين على حد سواء بالتزامه بمبادئ لغة PHP وإضافة وظائف مفيدة وعملية لبيئات القولبة، وهذه المزايا هي: | ||
− | * '''السرعة''': يصرِّف | + | * '''السرعة''': يصرِّف Compiles محرك Twig القوالب لتكون شيفرة PHP بسيطة ومحسنة، وقد قل سقف تلك الشيفرات إلى الحد الأدنى موازنة بشيفرة PHP العادية. |
− | * '''الأمان''': يحتوي Twig على وضع صندوق الاختبار | + | * '''الأمان''': يحتوي Twig على وضع صندوق الاختبار Sandbox من أجل تقييم شيفرات القوالب غير الموثوق بها، وهذا يسمح لـ Twig أن يُستخدم كلغة قوالب للتطبيقات التي قد يعدِّل المستخدمون فيها تصميم القالب نفسه. |
− | * '''المرونة''': يقوم Twig على معجم | + | * '''المرونة''': يقوم Twig على معجم lexer ومحلل parser يتسمان بالمرونة، وهذا يسمح للمطور أن يعرف وسومه وفلاتره الخاصة، وينشئ لغة DSL خاصة به. |
− | يُستخدم Twig في الكثير من المشاريع مفتوحة المصدر مثل Symfony و Drupal8 و eZPublish و phpBB و Matomo و OroCRM، كما تدعمه كثير من أطر العمل | + | يُستخدم Twig في الكثير من المشاريع مفتوحة المصدر مثل Symfony و Drupal8 و eZPublish و phpBB و Matomo و OroCRM، كما تدعمه كثير من أطر العمل frameworks مثل Slim و Yii و Laravel و Codeigniter، على سبيل المثال لا الحصر. |
== شروط التثبيت == | == شروط التثبيت == | ||
يتطلب الإصدار الثالث من Twig فما بعده إصدار 7.2.5 من لغة PHP على الأقل كي يعمل. | يتطلب الإصدار الثالث من Twig فما بعده إصدار 7.2.5 من لغة PHP على الأقل كي يعمل. | ||
− | == استخدام واجهة برمجة التطبيقات | + | == استخدام واجهة برمجة التطبيقات API الأساسية == |
هذا القسم يعطيك نبذة مختصرة عن واجهة برمجة التطبيقات في لغة PHP لمحرك Twig:<syntaxhighlight lang="php"> | هذا القسم يعطيك نبذة مختصرة عن واجهة برمجة التطبيقات في لغة PHP لمحرك Twig:<syntaxhighlight lang="php"> | ||
require_once '/path/to/vendor/autoload.php'; | require_once '/path/to/vendor/autoload.php'; | ||
سطر 21: | سطر 21: | ||
echo $twig->render('index', ['name' => 'Fabien']); | echo $twig->render('index', ['name' => 'Fabien']); | ||
− | </syntaxhighlight>يستخدم Twig محمِّل | + | </syntaxhighlight>يستخدم Twig محمِّل <code>\Twig\Loader\ArrayLoader</code> من أجل العثور على القوالب، وبيئةً <code>\Twig\Environment</code> من أجل تخزين إعداداتها. ويحمِّل التابع <code>render()</code> القالب المُمرَّر كوسيط أول، ويخرجه مع المتغيرات الممررة كوسيط ثاني. وبما أن القوالب تُخزَّن في نظام الملفات filesystem فإن Twig يأتي بمحمل نظام ملفات أيضًا:<syntaxhighlight lang="php"> |
$loader = new \Twig\Loader\FilesystemLoader('/path/to/templates'); | $loader = new \Twig\Loader\FilesystemLoader('/path/to/templates'); | ||
$twig = new \Twig\Environment($loader, [ | $twig = new \Twig\Environment($loader, [ |
مراجعة 16:09، 10 مايو 2021
مرحبًا بك في توثيق محرك القوالب Twig، المحرك المرن السريع الآمن للغة PHP، هذا المحرك مصمم ليناسب المصممين والمطورين على حد سواء بالتزامه بمبادئ لغة PHP وإضافة وظائف مفيدة وعملية لبيئات القولبة، وهذه المزايا هي:
- السرعة: يصرِّف Compiles محرك Twig القوالب لتكون شيفرة PHP بسيطة ومحسنة، وقد قل سقف تلك الشيفرات إلى الحد الأدنى موازنة بشيفرة PHP العادية.
- الأمان: يحتوي Twig على وضع صندوق الاختبار Sandbox من أجل تقييم شيفرات القوالب غير الموثوق بها، وهذا يسمح لـ Twig أن يُستخدم كلغة قوالب للتطبيقات التي قد يعدِّل المستخدمون فيها تصميم القالب نفسه.
- المرونة: يقوم Twig على معجم lexer ومحلل parser يتسمان بالمرونة، وهذا يسمح للمطور أن يعرف وسومه وفلاتره الخاصة، وينشئ لغة DSL خاصة به.
يُستخدم Twig في الكثير من المشاريع مفتوحة المصدر مثل Symfony و Drupal8 و eZPublish و phpBB و Matomo و OroCRM، كما تدعمه كثير من أطر العمل frameworks مثل Slim و Yii و Laravel و Codeigniter، على سبيل المثال لا الحصر.
شروط التثبيت
يتطلب الإصدار الثالث من Twig فما بعده إصدار 7.2.5 من لغة PHP على الأقل كي يعمل.
استخدام واجهة برمجة التطبيقات API الأساسية
هذا القسم يعطيك نبذة مختصرة عن واجهة برمجة التطبيقات في لغة PHP لمحرك Twig:
require_once '/path/to/vendor/autoload.php';
$loader = new \Twig\Loader\ArrayLoader([
'index' => 'Hello {{ name }}!',
]);
$twig = new \Twig\Environment($loader);
echo $twig->render('index', ['name' => 'Fabien']);
يستخدم Twig محمِّل \Twig\Loader\ArrayLoader
من أجل العثور على القوالب، وبيئةً \Twig\Environment
من أجل تخزين إعداداتها. ويحمِّل التابع render()
القالب المُمرَّر كوسيط أول، ويخرجه مع المتغيرات الممررة كوسيط ثاني. وبما أن القوالب تُخزَّن في نظام الملفات filesystem فإن Twig يأتي بمحمل نظام ملفات أيضًا:
$loader = new \Twig\Loader\FilesystemLoader('/path/to/templates');
$twig = new \Twig\Environment($loader, [
'cache' => '/path/to/compilation_cache',
]);
echo $twig->render('index.html', ['name' => 'Fabien']);
التثبيت
ثبت Composer وشغل الأمر التالي في الطرفية من أجل الحصول على الإصدار الأخير:
composer require "twig/twig:^3.0"