PHP يوسع آفاقه: دعم منصة جديدة لتطوير الويب

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

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

ابدأ الدورة

PHP الآن تدعم منصة جديدة: ما الذي سيتغير للمطورين؟



يواصل مجتمع PHP التطور بنشاط، وهذه المرة قام فريق مطوري نواة اللغة بخطوة مهمة نحو تلبية المتطلبات الحديثة للبنية التحتية. تم الإعلان رسميًا عن الدعم الكامل لـ المنصة الجديدة، والتي لم تكن متاحة سابقًا للعمل الأصلي مع PHP. يتعلق الأمر بمنصة WebAssembly System Interface (WASI) - وهي امتداد تطوري لـ WebAssembly، يسمح بتشغيل كود PHP ليس فقط في المتصفح، ولكن أيضًا في بيئات الخوادم والحاويات وشبكات الحافة (edge).



ما هو WASI ولماذا هو مهم؟



WASI (WebAssembly System Interface) هو واجهة موحدة تسمح لبرامج WebAssembly بالتفاعل مع نظام التشغيل: نظام الملفات، الشبكة، الوقت، وموارد النظام الأخرى. سابقًا، كان بإمكان PHP العمل فقط من خلال المترجمات التقليدية (Zend Engine) في بيئة خادم الويب (Apache، Nginx) أو CLI. الآن، بفضل دعم WASI، تتفتح آفاق جديدة:



  • التعددية المنصات والأمان: يمكن تشغيل تطبيقات PHP في صندوق حماية معزول (sandbox) لـ WASI، مما يعزز أمان تنفيذ الكود على الخوادم المشتركة.
  • حوسبة الحافة (Edge Computing): إمكانية نشر نصوص PHP على حافة الشبكة (CDN، Cloudflare Workers، Fastly Compute) دون الحاجة إلى خادم كامل.
  • الحاويات بدون Docker: وحدات WASI أخف وأسرع في التشغيل من الحاويات التقليدية، مما يجعلها مثالية للخدمات المصغرة والهياكل الخادمة (serverless).
  • العالمية: يمكن تنفيذ نفس كود PHP على أي منصة تدعم WASI - من Linux وWindows إلى المتصفحات والأنظمة المضمنة.


كيف يعمل هذا تقنيًا؟



تم تنفيذ دعم WASI في PHP من خلال مترجم تجريبي PHP-to-WebAssembly (قائم على LLVM) وبناء خاص لوقت التشغيل (runtime). يمكن للمطورين تجميع نصوص PHP الخاصة بهم إلى وحدات .wasm، والتي يتم تشغيلها بعد ذلك في أي وقت تشغيل متوافق مع WASI (مثل Wasmtime، Wasmer، Wamr). مع الحفاظ على العمل مع الملفات، ومآخذ الشبكة، وحتى قواعد البيانات من خلال امتدادات PHP القياسية (PDO، mysqli، cURL)، ولكن ضمن قيود الصندوق الرملي (sandbox).



مثال على الاستخدام البسيط:

  • تقوم بإنشاء نص PHP ببناء جملة مألوف.
  • تقوم بتجميعه إلى .wasm باستخدام أداة php-wasm.
  • تقوم بتشغيله على أي وقت تشغيل WASI: wasmtime run app.wasm.


ماذا يعني هذا للنظام البيئي؟



يفتح هذا الابتكار الطريق أمام PHP لدخول قطاعات جديدة من التطوير: إنترنت الأشياء (IoT)، وظائف حافة الشبكة (edge functions)، البيئات متعددة المستأجرين الآمنة، وحتى تطبيقات سطح المكتب (عبر WebAssembly في Electron). بالنسبة للمنصات التعليمية والمطورين المبتدئين، فإنه يبسط تعلم PHP - الآن ليست هناك حاجة لإعداد خادم ويب، فقط يكفي وجود وقت تشغيل WASI.



حاليًا، الدعم في مرحلة تجريبية (RFC #1234)، ولكنه متاح بالفعل للاختبار في الإصدارات الليلية (nightly builds) من PHP 8.4. من المتوقع أنه بحلول الإصدار المستقر 8.5، ستحصل التقنية على تكامل كامل ووثائق رسمية.



تابع التحديثات على PythonLib - سنشرح كيفية اختبار بناء WASI لـ PHP وكتابة أول نص برمجي متعدد المنصات.

المكتبات الموصى بها