طلعت قبل فترة على مسودة دونها أحد الحاضرين لإجتماع PHP Paris 2005 ، في هذا الإجتماع ناقش مجموعة من كبار مبرمجي و مطوري لغة PHP مستقبل اللغة و وضعوا خطوطا عريضة لما بات يدعى بـ PHP 6 !!
رغم أني أرى انه من المبكر بل و من المبكر جدا الحديث عن جيل جديد من لغة PHP ، وذلك لأن PHP 5 حتى الأن لم تأخذ حقها من الإنتشار و لم ينتقل اليها شريحة كبيرة من مبرمجي الـ PHP ، كذلك فإن الكثير بل الغالبية من سيرفرات الويب لم تعتمد بعد هذه الإصدارة كبديل عن PHP حفاظا على الشريحة العظمى من عملائها الذين يستخدمون تطبيقات مبرمجة بالـ PHP 4
.
في هذه المقالة القصيرة أرغب بتسليط الضوء على المستجدات المقترحة في PHP 6 من قبل هؤلاء المطورين ، و أحاول من جانب آخر طرح مسألة هيكلة الـ PHP التي باتت الشغل الشاغل لجهات كبرى في تطوير اللغة مثل Zend و eZ Publish.
ناقش المطورون في هذا الإجتماع العديد من المحاور حول خصائص اللغة ، في الحقيقة أرى أنهم تعمقوا بشكل مبالغ فيه و كأن اللغة على وشك أن تطرح ، ومن أهم ما تمت مناقشته :
1- إضافة نوع رقمي جديد Integer 64 ، لإمكانية التعامل مع أرقام بحجم 64 بت ، ما يعني وجود فرصة لتخزين أعداد ضخمة جدا ، و كان الإتفاق على عدم المساس بالنوع Int 32 و إنشاء نوع جديد كليا يسمى Int64
2- إضافة جملة goto للقفز المباشر الى سطر محدد ، بإعتقادي أن هذه الإضافة ستولد لنا تطبيقات غير قابلة للقراءة ، الغريب أن معظم لغات البرمجة بدأت بالتخلص من هذا الأمر الذي يحول اللغة من لغة مهيكلة Structured إلى لغة غير مهيكلة Not Structured
3- الغاء الدعم نهائيا عن مكتبتي GD 1 و Freetype 1
4- إضافة مكتبة XMLReader و XMLWriter بشكل إفتراضي في محرك لغة PHP الأساسي
5- تحويل ما بات يعرف بكائن بيانات PHP أو ما يطلق عليه إختصارا PDO إلى الطريقة الإفتراضية للوصول إلى قواعد البيانات و حذف أي طريقة أخرى للوصول الى قواعد البيانات ، فلن يكون بالإمكان إستخدام دوال MySQLi او OC8i التقليدية التي كانت تستخدم قبل ذلك مباشرة ، فقط سيسمح بإستخدام دوال PDO
6- إضافة إمكانية حذف ملف حتى لو كان مفتوحا ، هذه الخاصية ممكن في يونيكس أو لينكس ببساطة بإستخدام الأمر unlink ثم حذف الملف ، ولكن في ويندوز لا يمكن ذلك ، لذا سيتم إستحداث طريقة لجعل هذا الأمر ممكنا في ويندوز
7- الدالة foreach سيمكن معها إستخدام مصفوفات متعددة الأبعاد
8- إضافة مستوى أعلى الهيكلة بإضافة فضاءات الأسماء Name Space تماما كما في الـ .NET لكي يمكن ضم جميع الدوال و الكائنات في Name Space واحد .
هناك العديد من الخصائص و الأفكار التي تمت مناقشتها ، بإمكانك الإطلاع عليها من هنا :
http://www.php.net/~derick/meeting-notes.html
خلاصة القول ، أرى أن مطوري PHP قد ذهبوا بعيدا عن المسار الذي يجب أن تكون عليه اللغة ، إن الخطوة الرائعة من PHP 4 إلى PHP 5 كان يجب أن تستمر على نفس النحو ، و ذلك بتحويل لغة PHP الى لغة ذات مستوى تجاري Enterprise مثل JSP و ASP .NET .