phpdotenv

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

ما هو phpdotenv؟

phpdotenv هي مكتبة PHP شائعة لإدارة تهيئة التطبيقات عبر متغيرات البيئة. تسمح بتحميل الإعدادات من ملف .env إلى المصفوفة $_ENV والمتغيرات العامة getenv()، مما يبسط فصل التهيئة عن الكود. تم إنشاؤها مستوحاة من مكتبة Ruby dotenv وتُستخدم على نطاق واسع في أطر عمل PHP الحديثة (Laravel, Symfony).

لماذا نحتاج phpdotenv؟

عند تطوير التطبيقات، غالبًا ما نحتاج لتخزين البيانات الحساسة (كلمات مرور قواعد البيانات، مفاتيح API) بشكل منفصل عن الكود. يحل phpdotenv هذه المشكلة: تقوم بإنشاء ملف .env لا يتم تضمينه في المستودع (يُضاف إلى .gitignore)، وتقوم المكتبة بتحميله إلى البيئة. هذا يضمن الأمان، والمرونة (إعدادات مختلفة لـ dev/staging/prod)، والامتثال لمبدأ 12-factor app.

تثبيت phpdotenv

قم بتثبيت المكتبة عبر Composer:

composer require vlucas/phpdotenv

تأكد من تثبيت Composer و PHP الإصدار 7.1 أو أعلى.

الوظائف الأساسية

  • تحميل ملف .env — تحليل مفتاح=قيمة مع دعم التعليقات (#) والأسطر الفارغة.
  • المتغيرات الإلزامية — التحقق من وجود المفاتيح الضرورية باستخدام required().
  • تحديد الأنواع — تحويل تلقائي للسلاسل إلى أنواع (boolean, integer, null).
  • الأمان — هروب الأحرف الخاصة، دعم علامات الاقتباس.
  • الثبات — حماية من إعادة كتابة متغيرات البيئة الموجودة.

مثال كود PHP

require 'vendor/autoload.php';

use Dotenv\\Dotenv;

// تحميل .env من الدليل الجذر$dotenv = Dotenv::createImmutable(__DIR__);$dotenv->load();

// الآن المتغيرات متاحة عبر getenv()$dbHost = getenv('DB_HOST');$dbName = getenv('DB_NAME');

// أو عبر $_ENVecho $_ENV['APP_ENV']; // 'local'

// التحقق من المتغيرات الإلزامية$dotenv->required(['DB_HOST', 'DB_NAME']);

// مثال لملف .env:// DB_HOST=localhost// DB_NAME=test// APP_ENV=local

متى تستخدم phpdotenv

المكتبة مثالية لـ:

  • تطبيقات الويب PHP (Laravel, Symfony, Slim).
  • سكريبتات CLI والخدمات المصغرة.
  • المشاريع التي تتطلب تغيير سريع في التهيئة دون تعديل الكود.
  • التطوير الجماعي — يمكن لكل مطور أن يكون لديه ملف .env خاص به.
  • خطوط CI/CD — يتم تعيين المتغيرات عبر بيئة الخادم بدلاً من الملف.

هام: لا تقم أبدًا بإضافة ملف .env إلى المستودع. أنشئ ملف .env.example مع قالب للزملاء.

توصيات