أطلقت Swoole رسمياً TypePHP — مشروع مترجم AOT مفتوح المصدر يحول PHP 8.4/8.5 إلى ثنائيات أصلية قابلة للتنفيذ. المشروع مكتوب بالكامل بـ PHP نفسه ويستضيف نفسه بنفسه — المترجم الثنائي يتم بناؤه بتجميع مصدر المترجم نفسه عبر TypePHP.
ما هو TypePHP؟
TypePHP هو مترجم AOT (Ahead-Of-Time) يترجم كود PHP إلى C++17 ثم إلى كود آلي أصلي. بخلاف ذاكرة التخزين المؤقت للـ bytecode أو الـ VM، لا يحتوي على مفسّر في وقت التشغيل — بدلاً من ذلك، ينتج عنه ثنائيات محسّنة تعمل مباشرة على المعالج.
TypePHP يحافظ على بناء جملة PHP المألوف ويضيف معلومات نوع وقت الترجمة، مما يسمح للمترجم بإصدار C++ سريع ومكتوب بشكل ثابت للمسارات الحارة.
الأداء: أسرع 135 مرة من ZendVM
اختبار فيبوناتشي العودي يكشف النقاب عن الفارق الدراماتيكي:
- TypePHP: 0.11 ثانية
- PHP 8.4 ZendVM: حوالي 15 ثانية
- الفارق: أسرع 135 مرة تقريباً
لكن، لتطبيقات الويب العادية، مكاسب السرعة ستكون أكثر تواضعاً. الفوائد الحقيقية تأتي للتطبيقات الثقيلة حسابياً والمسارات الساخنة المحسّنة.
ثلاثة أوضاع بناء
TypePHP يدعم ثلاثة أوضاع بناء مختلفة من نفس قاعدة الأكواس:
- ثنائي تنفيذي: برنامج أصلي مستقل يقف بذاته
- امتداد PHP: يمكن تحميله في PHP الموجود
- مكتبة مشتركة: لأغراض إعادة الاستخدام
التوافقية والتكامل
TypePHP مبني على C++ ABI ويمكنه استدعاء المكتبات الثابتة والديناميكية المصنوعة من C/C++ و Rust و Go مباشرة . من خلال التكامل مع Zend، حزم Composer والإضافات الأصلية تستمر في العمل.
من الناحية النظرية، المترجم AOT مناسب حتى لتطوير برمجيات سطح المكتب الأصلية والألعاب والبرامج منخفضة المستوى.
التطبيقات والحالات الاستخدام
TypePHP مشهور لـ:
- تطبيقات الأداء العالية: الخدمات التي تتطلب أداء ثابتة
- حماية المصدر: الكود مترجم بعيداً عن التنفيذ — لا يمكن فك تجميعه بسهولة
- التطبيقات المستقلة: ثنائي واحد بدون تبعيات يعني نشر بسيط
- تطبيقات الويب المختلطة: كود PHP محسّن + إطار عمل موجود
نظام النوع الأصلي
TypePHP يرسم الأنواع الأصلية على أنواع C++ مباشرة:
- int → int64_t
- float → double
- bool → bool
هذا يؤدي إلى تحسينات بترتيب الحجم على كود الأرقام.
الدعم متعدد المنصات
TypePHP يدعم:
- Linux (x86-64 و ARM64)
- Windows (x86-64)
- macOS (x86-64 و ARM64)
- WASI 0.2 و WebAssembly
السياق التاريخي
مشاريع مشابهة لـ TypePHP تجمعت غباراً منذ زمن . HipHop for PHP من Facebook (2010) كان محاولة سابقة لتحويل PHP إلى C++، لكن Facebook انتقلت إلى HHVM بـ JIT في 2011 واستبدلته بالكامل بحلول 2013.
هذه المرة، يبدو أن TypePHP لديها زخم أفضل ودعم مجتمع قوي.
الإصدار والتطور
TypePHP أطلقت مفتوحة المصدر في يناير 2026 وحالياً في الإصدار 0.6.5. المشروع تحت تطوير نشط مع توثيق شامل وتعليمات التثبيت متاحة على موقع Swoole.