تم وبحمد الله وفضله إطلاق الإصدار 2.5 من مكتبة PHP واللغة العربية تماما كما هو مخطط له بمناسبة مرور ثلاثة أعوام ونصف على إطلاق هذا المشروع، حيث كانت البداية مع هذا الكلاس المتواضع في 5 شباط/فبراير 2006:
Arabic MySQL Query (arabic) - PHP Classes
أما بخصوص هذا الإصدار الأخير فيمكنك الحصول عليه من موقع المشروع مباشرة من خلال رابط التحميل في الموقع:
PHP and Arabic Language - Index
أما بخصوص التعديلات والإضافات التي يتضمنها هذا الإصدار فهي التالية:
1- تم إجراء تعديل جوهري على نواة المكتبة التي تقوم لاحقا بتحميل المكتبات الفرعية المطلوبة بحيث أصبحت لا تحجز أكثر من 60% من الذاكرة مقارنة بالنسخة السابقة مستخدما أسلوبا مشابها إلى حد ما لـ Factory Pattern، بصراحة أنا سعيد بهذه النواة الجديدة، وأظن أن قراءتها والاطلاع على آلية عملها سيكون ممتعا لأي مبرمج PHP محترف.
2- تم تحسين قائمة الكلمات العربية المستبعدة بشكل كبير، على الرغم من أن الاستخدام الكامل للقائمة المعززة سيجعل تابع التلخيص يستهلك ضعف وقت تنفيذه الحالي تقريبا، لذا جعلت من عملية إدراج وساتخدام تلك القائمة المعززة مربوطا باستدعاء تابع خاص وهو loadExtra ليبقى خيار ضمها من عدمه في يد المطور ومستخدم المكتبة.
3- تم جعل الدالة التي تقوم بتنظيف نص ما معطى من الكلمات المستبعدة الواردة فيه متاحا public مقارنة بوضعه السابق وهو private
4- تم إضافة كلاس فرعي جديد باسم ArStandard يقوم بتنسيق النصوص العربية لتتبع معايير التعامل الصحيح مع علامات الترقيم (كما يشترط عادة في الكتابة ضمن المجلات أو الجرائد)، لمزيد من التوضيح إنظر المثال الخاص بهذا الكلاس الجديد والمرفق مع المكتبة ضمن مجلد Examples
5- تم فحص واختبار توافقية هذه المكتبة وصحة عملها على الإصدار السادس من لغة PHP واجتازت كافة الاختبارات بنجاح تام، مما يطمئن من يستخدمها من المطورين إلى عدم حدوث أي إنقطاع أو مشاكل بسبب هذه المكتبة إن قرروا في المستقبل الانتقال والترقية إلى الإصدار السادس من لغة فحص واختبار توافقية هذه المكتبة وصحة عملها على الإصدار السادس من لغة PHP
6- تم إضافة كلاس فرعي جديد اسمه ArStemmer مهمته استخلاص ساق الكلمة وتخليصها من الزوائد الملتصقة بها سواء كانت سوابق أو لواحق، وهو يعمل حاليا بشكل مرضي نسبيا، لكن لا تتوقعوا منه معجزات لغوية بعد، وقد استخدمت في تنفيذه الخوارزمية التي وضعها الأخ طه الزروقي والذي سبق أن التقيته في مارثون البرمجة في القاهرة في وقت سابق من هذا العام، لمزيد من الشرح حول الخوارزمية المستخدمة ذاتها سأحيلكم إلى ما كتبه الأخ طه نفسه عنها:
خوارزمية تخمين حروف الجذر | Arab Techies
7- أصبحت الشيفرة المصدرية خاضعة تماما لشروط مكتبة PEAR من حيث معايير الكتابة
من جهة أخرى هنالك بعض التغييرات الطفيفة جدا في طريقة العمل مع هذه المكتبة قد لا تؤثر على الكثيرين منكم، لكن وجب الإشارة إليها هنا:
عند إنشاء كائن من كلاس المكتبة أصبح لزاما عليك تحديد المكتبة الفرعية التي تود التعامل معها، وهو موضح في جميع الأمثلة المرفقة، وبالتالي اهمال ذكر اسم المكتبة سيؤدي إلى تحميل النواة فقط وانتظار تحميل المكتبة الفرعية التي تريد من خلال التابع load، كما أن القيمة All التي تقوم بتحميل كافة المكتبات الفرعية لم تعد متاحة بعد الآن لأسباب تتعلق بالأداء، عوضا عن ذلك أصبح متاحا لك تابع جديد من نواة المكتبة ذاتها اسمه load يتيح تغيير المكتبة الفرعية التي يستخدمها الكائن الذي سبق أن أنشأته، مما يلغي الحاجة إلى أكثر من كائن عند التعامل مع أكثر من مكتبة فرعية.
أخيرا فقد تضمن هذا الإصدار تصحيحين أولهما يتعلق بالمتحول use_autoload$ والذي لم يكن يعمل بالشكل المطلوب منه عند وضع قيمته على true، أما الآخر فهو يتعلق بعرض الأرقام بتسلسل صحيح عندما يتبعها فاصلة أو علامة استفهام في مكتبة ArGlyphs
في الختام، أتوجه مقدما بالشكر إلى كل من ساهم في هذا العمل بفكرة أو مشورة أو تصحيح أو تشجيع، كما أتمنى أن يلقى هذا الإصدار إعجابكم وألا تبخلوا علينا بالملاحظات والنصائح والأفكار والتصويبات
ملاحظة: بحسب إحصائيات موقع SourceForge.net فقد تم تحميل هذه المكتبة خلال عام من الآن أكثر من 2000 مرة:
SourceForge.net: Project Statistics for Ar-PHP