شرح صفوف ومحتوى الفقرة
في إصدارات PHP الحديثة (بما فيها PHP 8.4)، يمكن إزاحة وسم الإغلاق في Heredoc وNowdoc بالمسافات، ويقوم PHP تلقائياً بحذف نفس مقدار المسافات البادئة من كل سطر داخل الكتلة.
- تحدد إزاحة وسم الإغلاق الهامش الأساسي الذي يتم اقتطاعه من بداية كل سطر داخل النص.
- لا يجوز أن تكون إزاحة أي سطر داخل النص أقل من إزاحة وسم الإغلاق، وإلا أطلق مفسر PHP خطأً نحوياً
ParseError. - لا تخلط أبداً بين المسافات (Spaces) وعلامات الجدولة (Tabs) في إزاحة نفس كتلة Heredoc أو Nowdoc.
لأن وسم الإغلاق YAML; مزاح بمقدار 4 مسافات، يحذف PHP أول 4 مسافات من كل سطر؛ فيبدأ السطر app: من بداية السطر ويحتفظ mode: بمسافتين نسبيتين.
PHP
<?php
$env = "production";
$configBlock = <<<YAML
app:
mode: "$env"
debug: false
YAML;
echo $configBlock . "\n";