انتقل إلى محتوى الدرس

Managing Credentials with Env Config إدارة بيانات الاتصال السرية عبر متغيرات البيئة

نظّم مشروع تطبيق ويب احترافي في PHP 8 بفصل مجلد public عن الكود المصدري وإدارة إعدادات البيئة وبناء موجه مركزي للروابط.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

لا تكتب كلمات مرور قاعدة البيانات أو مفاتيح الواجهات داخل الكود المرفوع إلى Git أبداً؛ بل اقرأها من متغيرات البيئة عبر $_ENV أو getenv().

  • ارفع ملف نموذج باسم .env.example بالقيم الافتراضية، وأضف ملف .env الحقيقي إلى .gitignore.
  • اجمع قراءة متغيرات البيئة في ملف إعداد مركزي مثل config/database.php.
  • حوّل القيم الرقمية أو المنطقية المقروءة من البيئة صراحةً (مثل (int) ($_ENV["DB_PORT"] ?? 3306)).

يوفر معامل دمج الفارغ ?? قيماً افتراضية للتطوير المحلي مع قراءة قيم الخادم الحقيقية في بيئة الإنتاج.

PHP
<?php
// File: config/database.php
$dbConfig = [
    'host' => $_ENV['DB_HOST'] ?? '127.0.0.1',
    'port' => (int) ($_ENV['DB_PORT'] ?? 3306),
    'name' => $_ENV['DB_DATABASE'] ?? 'closetag_app',
    'debug' => ($_ENV['APP_DEBUG'] ?? 'false') === 'true',
];

echo "DSN: mysql:host={$dbConfig['host']};dbname={$dbConfig['name']}\n";