-
-
Notifications
You must be signed in to change notification settings - Fork 51
إطلاق الإصدار 3.6.0
لقد تم إطلاق الإصدار 3.6.0 من مكتبة PHP واللغة العربية في العشرين من شهر كانون الثاني/يناير 2013 ليكون خاتمة الإصدارات الفرعية في سلسة النسخة الثالثة من هذه المكتبة، وهو ما سيسمح لنا بالتفرغ والتركيز على إضافة مكونات رئيسية جديدة ستظهر للعلن مع الإصدار الرئيسي القادم (وهو الإصدار 4.0.0)، وبالتالي حمل الإصدار الحالي 3.6.0 في جعبته العديد من التصويبات والتحسينات في أداء وظائف المكتبة الحالية، وبالأخص تحسين دقة الخوارزمية المستخدمة للتحويل ما بين نظامي التأريخ الهجري والميلادي، وذلك بعد أن تم إعتماد ما هو منشور من قبل
المشروع الإسلامي لرصد الأهلة
والذي يمتاز بهامش خطأ أقل كثيرا مما سبق وأن كان معتمدا في الخوارزميات المطبقة في مكتبتنا.
من جهة أخرى يبدو أن وظيفة تهيئة النص العربي من حيث تحديد شكل كل حرف بحسب ما يسبقه أو ما يليه من أحرف ضمن سياق النص المعطى لا تزال إحدى أكثر وظائف مكتبة PHP واللغة العربية شيوعا واستخداما نظرا لافتقار العديد من المكتبات الملحقة بلغة PHP لمثل هذا النوع من المعالجة المسبقة الضروري لإخراج وعرض النص العربي بشكل سليم (والعارض الشائع الدال على ذلك هو ظهور أحرف النص العربي مقطعة وبترتيب معكوس)، وهو ما نراه عادة مع مكتبة GD لمعالجة الصور، ومكتبة Ming لإنشاء ملفات الفلاش، ومكتبة UFPDF لإنشاء ملفات PDF، وغيرهم الكثير.
دليلنا على شيوع استخدام وظيفة Glyphs لتصحيح هذا النوع من المشاكل هو كثرة ما يصلنا من استفسارات حول طريقة استخدامها ودمجها مع العديد من التطبيقات والتي كان آخرها Lime Survey. في ذات الوقت حظيت هذه الوظيفة بالعديد من التصويبات للأخطاء التي تم الإشارة إليها من قبل المطورين الذين يستثمرون هذه المكتبة، لتغدو يوما بعد آخر أكثر ثباتا واستقرارا وموثوقية مع وصول الأخطاء التي يتم التبليغ عنها إلى حالات متطرفة ونادرة الحدوث شيئا فشيئا.
كذلك لم يخلو الإصدار 3.6.0 من إضافة لبعض الوظائف الجديدة التي تعزز ما هو موجود أصلا، وسأخص بالذكر ما هو متعلق منها بالتعامل مع الأعداد حيث أصبح بإمكانك الآن استخدام التابع money2str لتحويل عدد معطى إلى سلسلة نصية تعبر عنه كمبلغ مالي مع ذكر العملة (ومشتقاتها) بحسب الدولة العربية التي تم اختيارها وتحديدها. وظيفة أخرى جديدة متعلقة بالتعامل مع الأعداد هي str2int والتي تقوم بتحويل نص عربي يذكر عددا ما إلى عدد صحيح مطابق له بالقيمة (لقد كانت بساطة تنفيذ هذه المهمة برمجيا مفاجئة لي شخصيا وممتعة في ذات الوقت! لذا أنصح المهتمين بالخوارزميات والشيفرات البرمجية بالإطلاع على شيفرتها المصدرية ضمن الملف Numbers.php والبحث عن نقاط ضعفها أو أساليب تحسينها الممكنة، شخصيا أفكر في توسعة نطاق عملها ليشمل الأعداد ذات الفاصلة العشرية).
كذلك فقد ركزنا في هذا الإصدار على متابعة تشذيب الشيفرات البرمجية لهذه المكتبة وبالأخص ما يتعلق منها بخوارزمية حساب مواقيت الصلاة حيث تم الاستغناء عن الأجزاء القديمة لصالح الخوارزمية الأحدث والتي ظهرت قبل عامين تقريبا مع الإصدار 2.8 في 14 نيسان/أبريل 2011 والتي وصفت بالتفصيل ضمن هذا الموقع في حينها. كذلك فقد طالت عملية التشذيب ملفات الأمثلة المرفقة بالمكتبة ونصوصها البرمجية لتصبح هذه الأمثلة أكثر إعتمادية وأعم فائدة.
قد يتلو هذا الإصدار واحد أو أكثر من الإصدارات الفرعية تحت مسميات من النمط 3.6.x وذلك إن تم التبليغ عن أخطاء حرجة في الإصدار الحالي تستدعي إطلاق ترقيعات لسد الثغرات وتصويبها على عجل، فيما عدى ذلك سنعمل على تركيز جهودنا من أجل تطوير الإصدار الرئيسي القادم من هذه المكتبة.
من جهة أخرى نجري حاليا مراجعة لرخصة وقف التي سبق وأن أطلقها الصديق كفاح عيسى ولاقى استحسان الكثيرين بمن فيهم نحن في مشروع PHP واللغة العربية كون غاية المشروع وهدفه تقترب حد التطابق مع ما تذكره بنود هذا الترخيص، لكن العمل جار حاليا على تقصي مدى توافقه مع ترخيص LGPL المستخدم من طرفنا حاليا، ومع ما هو مقبول ومتداول في مجتمع البرمجيات الحرة المفتوحة المصدر، مما يعني أن الإصدار الرئيسي القادم لمكتبة PHP واللغة العربية قد ينشر تحت ترخيص وقف أو ربما بترخيص مزدوج يضاف فيه خيار إنتقاء ترخيص وقف إلى جانب ترخيص LGPL المستخدم حاليا.
في الختام وكما جرت العادة أود أن أشكر جميع من ساهم في هذا الإصدار (لائحة الأسماء تتبع الترتيب الأبجدي) وأعتذر سلفا عن كل من غفلت عن ذكر اسمه هنا في هذه القائمة:
- سعيد بكر
- شادي مصالحة
- ضيف العتيبي
- طه الزروقي
- عمار عبد الحميد
- محمد الشهري
- مؤيد المحمدي
في الختام، نتطلع شوقا إلى أسئلتكم واستفساراتكم ومقترحاتكم، فيها ننمو ومعها نتطور، وإن أهديتمونا عيوبنا فسنكون لكم من الشاكرين.