ForHosting KIT · أدوات المطورين

تحليل ملف dotenv إلى أزواج مفاتيح وقيم

تبدو ملفات dotenv بسيطة حتى تشتمل القيم على مسافات أو علامات تعليق أو تعيينات فارغة أو نصوص مهروبة.

● Betaمجاني · داخل متصفحك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

يحوّل هذا المحلل المحتوى الكامل لملف .env إلى كائن منظم من أزواج المفاتيح والقيم وفق قواعد صياغة واضحة ومتوقعة. يتجاهل الأسطر الفارغة والتعليقات، ويحافظ على المحتوى بين علامات الاقتباس، ويتعرف إلى التعليقات التي تتبع القيم غير المقتبسة، ويحدد رقم السطر بدقة عند وجود تعيين غير صالح. تفيد النتيجة في معاينة الإعدادات وترحيلها والتحقق منها وبناء أدوات تطوير تحتاج إلى بيانات منظمة من دون تحميل المتغيرات في بيئة العملية.

أرسلوا نص dotenv كاملاً

الصقوا محتوى ملف .env أو أرسلوه في الحقل text. يجب أن يشتمل كل سطر ذي معنى على مفتاح وعلامة مساواة وقيمة. يبدأ المفتاح بحرف ASCII أو شرطة سفلية، ويمكن أن تليه حروف أو أرقام أو شرطات سفلية. تُقبل الأسطر الفارغة، ويُعامل كل سطر تكون أول محارفه غير الفارغة علامة المربع بوصفه تعليقاً. التعيينات الفارغة مثل CACHE_PREFIX= صالحة وتنتج سلسلة فارغة. يعيد المحلل كائن values الذي يحتوي على الأزواج المعالجة، إلى جانب عدد المفاتيح الفريدة. إذا تكرر المفتاح، يحل التعيين اللاحق محل السابق، وهو أسلوب التجاوز العملي الشائع عند جمع أجزاء الإعدادات. لا تكتب الأداة في بيئة الجهاز، ولا توسع المتغيرات، ولا تقرأ الملفات، ولا تتصل بأي خدمة. فهي تعالج النص المرسل وحده، ولذلك يمكن معاينة سلوكها بأمان وإعادة إنتاجه بسهولة في نصوص البناء وامتدادات المحررات وأدوات فحص الإعدادات ومسارات الترحيل.

افهموا الاقتباسات والتهريب والتعليقات

تُحذف المسافات الخارجية من القيم غير المقتبسة. لا تبدأ علامة المربع تعليقاً ضمن السطر إلا إذا سبقتها مسافة مباشرة، ولذلك تبقى أجزاء عناوين URL والرموز مثل color=#fff كما هي. تحافظ علامات الاقتباس المفردة على النص الداخلي حرفياً، بما فيه علامات المربع والمسافات. وتحافظ علامات الاقتباس المزدوجة عليه أيضاً، لكنها تفسر عمليات التهريب المعتادة بالشرطة المائلة العكسية للسطر الجديد والعودة إلى أول السطر وعلامة الجدولة والاقتباس المزدوج والشرطة المائلة العكسية. بعد علامة الإغلاق لا يُسمح إلا بالمسافات أو بتعليق. تزيل هذه القواعد الغموض من دون تقييم أوامر shell. لا يوسع المحلل مراجع مثل ${HOST}، ولا ينفذ استبدال الأوامر، ولا يحول السلاسل مثل true و8080 إلى قيم منطقية أو أعداد. تبقى كل قيمة سلسلة نصية، لأن بيانات dotenv نصية وعلى التطبيق أن يحدد التحويل المناسب له. وبذلك لا تضيع الأصفار البادئة أو حالة الأحرف أو القيم الفارغة المقصودة.

تعاملوا مع الإدخال غير الصالح بوضوح

استخدم أداة الويب للفحوص الفردية، واستخدم الواجهة البرمجية عند دمج الإمكانية نفسها في سير عمل آلي.

التحقق من الإعدادات قبل النشر

ارفضوا محتوى dotenv غير الصحيح مبكراً وحددوا للمسؤول السطر الدقيق الذي يحتاج إلى تصحيح.

معاينة ترحيل الإعدادات

حوّلوا نص .env القديم إلى كائن منظم قبل ربط مفاتيحه بنظام إعدادات آخر.

إنشاء أداة للمطورين

استخدموا مخرجات متوقعة في امتدادات المحررات أو مساعدات الإعداد أو أدوات البناء أو مسارات المقارنة.

ما كلفة الطلب الواحد؟

تبلغ كلفة طلب API مقدار $0.002. ويمكن لمشغل المتصفح تحليل المحتوى نفسه محلياً.

هل تتحول القيم إلى أعداد أو قيم منطقية؟

لا. تبقى جميعها سلاسل نصية، بما فيها 8080 وtrue وfalse والتعيينات الفارغة.

كيف تُعامل المفاتيح المكررة؟

يسود التعيين الأخير، وتعرض count عدد المفاتيح الفريدة في النتيجة النهائية.

هل يمكن أن تحتوي القيمة المقتبسة على علامة مربع؟

نعم. تكون علامة المربع داخل الاقتباس المفرد أو المزدوج جزءاً من القيمة ولا تبدأ تعليقاً.

هل يوسع المحلل مراجع المتغيرات؟

لا. يعيد المراجع مثل ${HOST} حرفياً، ولا يقيّم تعبيرات shell أو البيئة.

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/dev2/env-file-parse

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/dev2/env-file-parse \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"APP_NAME=\"Example service\"\nDEBUG=true\nPORT=8080\n# Optional local override\nEMPTY="}'
{
  "text": "APP_NAME=\"Example service\"\nDEBUG=true\nPORT=8080\n# Optional local override\nEMPTY="
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.env_file_parse",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

اطّلع على توثيق KIT الكامل ←