PHP عبر الإنترنت - IDE ومحرر ومترجم ومفسّر

نفّذ سكربتات PHP 8 عبر الإنترنت بمفسّر PHP حقيقي مترجم إلى WebAssembly. مثالي لاختبار المقتطفات والمصفوفات ودوال النصوص و JSON.

PHP 8 (php-wasm) · يعمل في متصفحك، لذا لا تصل شيفرتك إلى خوادمنا أبدًا.
main.phpPHP
المخرجات

            
        
Ctrl/⌘ + Enter للتشغيل

ميزات مترجم PHP عبر الإنترنت (بيئة تطوير ومحرّر ومفسّر)

اكتب شيفرة PHP وشغّلها واختبرها عبر الإنترنت مجانًا. تعمل هذه الصفحة كبيئة تطوير PHP ومحرّر شيفرة ومترجم ومفسّر في آن واحد: اكتب شيفرتك، واضغط «تشغيل»، وشاهد المخرجات فورًا. كل شيء يعمل في متصفحك، دون أي تثبيت ودون إنشاء حساب.

  • تشغيل الشيفرة فورًا: PHP 8 (php-wasm)، مع ظهور المخرجات في أقل من ثانية بعد التحميل الأول.
  • محرّر الشيفرة: تلوين الصياغة، وأرقام الأسطر، ومطابقة الأقواس، والإغلاق التلقائي للأقواس.
  • أخطاء واضحة: تظهر رسائل الخطأ والتحذيرات في لوحة المخرجات، كما تظهر على حاسوبك.
  • ملء الشاشة: Ctrl/⌘ + Shift + F، وحجم خط قابل للتعديل، وتخطيط متجاور أو مكدّس، ولوحات قابلة لتغيير الحجم.
  • الحفظ التلقائي: تُحفظ شيفرتك في متصفحك؛ نزّلها باسم main.php أو انسخها بنقرة واحدة.
  • تجربة آمنة: حدّ زمني وزر إيقاف ينهيان الحلقات اللانهائية.
  • خاص: تعمل بيئة تشغيل PHP على جهازك، لذا لا تُرفع شيفرتك أبدًا.
  • الوضع الداكن واختصارات لوحة المفاتيح: Ctrl/⌘ + Enter يشغّل الشيفرة.
  • مجاني: بدون تسجيل، وبلا حدود للاستخدام.

تعلّم لغات برمجة أخرى

كيف تستخدم مترجم PHP عبر الإنترنت

  1. اكتب نصًا برمجيًا بلغة PHP أو الصقه في المحرر. وسم الفتح <?php اختياري؛ فإذا لم تحتوِ شيفرتك على أي وسم PHP فسيُضاف لك. وتعمل أيضًا القوالب التي تمزج HTML مع كتل <?php ... ?>. ويستعيد الزر إعادة ضبط المثال الشيفرة الابتدائية.
  2. اضغط تشغيل أو استخدم Ctrl + Enter (⌘ + Enter على جهاز Mac).
  3. يظهر كل ما يخرجه نصك عبر echo أو print أو printf أو var_dump في لوحة المخرجات. وتُميَّز التحذيرات والأخطاء القاتلة.
  4. اختر الحدّ الزمني: 5 أو 15 أو 60 ثانية. تُوقَف النصوص التي تعمل لمدة أطول تلقائيًا، ويُنهي الزر إيقاف التشغيل فورًا.

ينزّل التشغيل الأول مفسّر PHP، بحجم نحو 12 MB. يخزّنه متصفحك مؤقتًا، فتبدأ التشغيلات اللاحقة أسرع بكثير. استخدم نسخ أو main.php للاحتفاظ بنصك.

تعمل PHP محليًا داخل متصفحك، لذلك لا تُرسَل شيفرتك إلى خوادمنا ولا تُخزَّن عليها أبدًا. يتذكر المحرر آخر نص لك في التخزين المحلي لمتصفحك، ولا يحتفظ به في أي مكان آخر.

ما المدعوم

يستخدم المترجم PHP 8 عبر php-wasm، وهو مفسّر PHP المترجَم إلى WebAssembly. وهو ليس محاكاة؛ بل تنفّذ PHP نفسها شيفرتك.

  • صياغة PHP 8: الخصائص المحددة الأنواع، والأنواع الاتحادية، وتعبيرات match، والوسائط المسماة، والدوال السهمية (fn)، ومعامل nullsafe (?->)، والتعدادات (enums) حيثما يدعمها الإصدار المضمّن.
  • الدوال الأساسية للنصوص (str_contains وsprintf وexplode) والمصفوفات (array_map وusort وarray_filter) والرياضيات والتواريخ.
  • JSON مع json_encode وjson_decode.
  • التعابير النمطية مع دوال preg_*.
  • الأصناف والواجهات والسمات (traits) والدوال المغلقة (closures) والمولّدات والاستثناءات.

القيود:

  • لا امتدادات شبكة: لا تتوفر curl ولا المقابس (sockets) ولا طلبات HTTP.
  • لا خادم قاعدة بيانات: لا يوجد MySQL أو PostgreSQL للاتصال به. وللتدرّب على SQL استخدم مترجم SQL عبر الإنترنت.
  • لا سياق خادم ويب: لا تحصل $_GET و$_POST والجلسات وملفات تعريف الارتباط على بيانات طلب حقيقية، ويُعرض ناتج HTML نصًا لا مُصيَّرًا.
  • لا حزم Composer، ولا إدخال قياسي.

مرجع سريع لـ PHP

<?php
$prices = ['apple' => 1.20, 'bread' => 2.50, 'milk' => 0.99];

$expensive = array_filter($prices, fn($p) => $p > 1);
arsort($expensive);

foreach ($expensive as $item => $price) {
    printf("%-6s %5.2f\n", $item, $price);
}

$label = match (true) {
    count($prices) > 2 => 'big basket',
    default            => 'small basket',
};
echo $label, PHP_EOL;
echo json_encode($prices, JSON_PRETTY_PRINT), "\n";
المهمةالصياغة
متغير$name = "Ada";
الاستيفاء داخل النص"Hello, {$name}!"
مصفوفة ترابطية$a = ['key' => 'value'];
التكرار على المفاتيح والقيمforeach ($a as $k => $v) { }
فحص قيمةvar_dump($x); أو print_r($x);
الدمج مع القيمة الفارغة (Null coalescing)$v = $a['x'] ?? 'default';

نصائح

  • أنهِ الأسطر بـ "\n" أو PHP_EOL؛ فالأمر echo لا يضيف سطرًا جديدًا من تلقاء نفسه.
  • استخدم print_r($array) لعرض مضغوط للمصفوفات المتداخلة، أو var_dump() عندما تحتاج أيضًا إلى الأنواع والأطوال.
  • للحصول على JSON مقروء مرّر JSON_PRETTY_PRINT، أو الصق المخرجات في منسّق JSON وأداة التحقق منه للتحقق منها.
  • يبدأ كل تشغيل مفسّرًا جديدًا، لذلك لا تُحفَظ المتغيرات والدوال من التشغيل السابق.
نصيحة: هل تختبر نمط preg_match؟ ابنِه وصحّحه أولًا في أداة اختبار Regex، ثم الصقه بين المحدِّدات، مثل '/^\d+$/'.

الأسئلة الشائعة

هل يجب أن أبدأ شيفرتي بـ <?php؟

لا. إذا لم يحتوِ النص على وسم <?php فسيُضاف تلقائيًا. ويمكنك أيضًا كتابة HTML مع كتل <?php ... ?> مضمّنة، تمامًا كما في ملف .php على خادم ويب.

هل يمكنني الاتصال بـ MySQL؟

لا. يعمل المفسّر في متصفحك دون وصول إلى الشبكة أو خادم قاعدة بيانات. وللتدرب على SQL يمنحك مترجم SQL قاعدة بيانات SQLite حقيقية في المتصفح.

لماذا لا تعمل curl أو file_get_contents() مع عنوان URL؟

لا تتضمن نسخة WebAssembly هذه امتدادات الشبكة، ولا تسمح المتصفحات باتصالات شبكة خام من بيئة معزولة كهذه.

هل هذا مثل تشغيل PHP على خادم؟

بالنسبة لميزات اللغة ودوال النصوص والمصفوفات وJSON، نعم: إنه محرك PHP الحقيقي. أما أي شيء يعتمد على خادم ويب أو امتدادات أو الشبكة فيتصرف بشكل مختلف.

آخر تحديث

تم النسخ إلى الحافظة