متى يجب استخدام الثابت PHP_EOL في PHP وكيف يختلف عن \n؟
مرحباً بالجميع! أنا مطور PHP مبتدئ، وقد حدث لدي ارتباك مع الثابت PHP_EOL. في التوثيق مكتوب أنه "رمز نهاية السطر الصحيح للنظام الأساسي الحالي"، لكنني لا أفهم تماماً متى يجب استخدامه.
إليك مثال: أكتب سكريبتاً يحفظ السجلات في ملف نصي. حالياً أستخدم \n العادي:
```php
$log = date('Y-m-d H:i:s') . " - قام المستخدم بتسجيل الدخول\n";
file_put_contents('log.txt', $log, FILE_APPEND);
```
على الخادم المحلي (Windows) كل شيء يعمل بشكل ممتاز. لكن عندما رفعت الكود إلى الإنتاج (Linux)، لاحظت أن الأسطر تلتصق في بعض الأماكن ولا تلتصق في البعض الآخر. نصحني صديق باستبدال \n بـ PHP_EOL، لكنني لا أفهم: لماذا، إذا كان \n يعمل في كل مكان؟
أيضاً أكتب رسائل HTML برسائل متعددة الأسطر. هناك أيضاً أستخدم \n لفصل الأسطر في نص الرسالة:
```php
$message = "السطر 1\nالسطر 2\nالسطر 3";
mail($email, $subject, $message);
```
على Windows تصل الرسائل بفواصل أسطر صحيحة، أما على Linux