RSS

كواليس الإصدار الثالث من مكتبة PHP واللغة العربية

31 مايو

تنبيه هام حول مشكلة تم التبليغ عنها في أمثلة الإصدار 2.8 السابق

 أشار بعض المستخدمين إلى أن هنالك خلل في كثير من الأمثلة عند تجربتها، بعد تتبع المشكلة وجدت أن السبب هو استخدام أسلوب nowdoc في تأطير السلاسل النصية ضمن تعليمة highlight_string في أغلب الأمثلة والتي وضعت بغية إظهار النص البرمجي المستخدم في المثال المعني، حيث ستجد تعليمة على الشكل التالي:

highlight_string(<<<‘END’

 لاحظ علامات التنصيص المفردة حول كلمة END وهو ما يميز طريقة nowdoc في تأطير السلاسل النصية عن طريقة heredoc المعروفة منذ الإصدار الرابع للغة PHP والتي تشبه الصيغة السابقة فيما عدى موضوع التأطير بسلاسل نصية مفردة للكلمة التي يراد استخدامها كرمز لبداية ونهاية ذلك التأطير. إن الفرق ما بين أسلوبي nowdoc و heredoc هو مشابه تماما للفرق ما بين تأطير سلسلة نصية بعلامة تنصيص مفردة أو مزدوجة، ففي الأولى يعامل النصن كنص مصمت لا ينظر مفسر لغة PHP داخله على الإطلاق أو يقوم بأي تبديل لمحتواه، أما في الحالة الثانية فيفحص مفسر لغة PHP محتويات النص المؤطر فإن وجد فيها إسما لمتغير قام بإبداله بقيمته. لقد قمنا باستخدام طريقة nowdoc في الأمثلة لتبسيط الشيفرة المصدرية حيث لا تعود هنالك حاجة لوضع الرمز \ قبل اسم كل متحول للإشارة صراحة بعدم الرغبة في استبدال ذلك المتحول بقيمته بل الإكتفاء بعرض اسمه كما هو مع رمز $، على كل حال سنعود لاستخدام طريقة heredoc في الإصدار القادم للمحافظة على التوافقية مع كافة إصدارات PHP 5 دون استثناء.

سبب المشكلة أن طريقة nowdoc لم تقدم إلا في الإصدار 5.3 من لغة PHP، لذا فإن كل من يملك إصدارا فرعيا من PHP 5  يسبق هذا الإصدار سوف يعاني من تلك المشكلة، لذا إما أن تقوم بتجريب الأمثلة على مخدم يعتمد الإصدار 5.3 من PHP أو ما يليه، أو عليك إزالة تعليمة highlight_string كاملة بما في ذلك السلسلة النصية المؤطرة داخلها، علما أن هذا الإجراء لن يؤثر على عمل المثال، إنما لن يقوم بعرض الشيفرة المصدرية للمثال كجزء من مخرجات صفحة المثال.

 مما يجدر ذكره في ختام هذه الفقرة أن هذه المشكلة موجودة في أمثلة ذلك الإصدار فقط ولا تتعلق مطلقا بملفات المكتبة ذاتها والتي يمكن استخدامه دون أي مشاكل تذكر على جميع الإصدارات الفرعية من لغة PHP 5 كما هو معتاد.

ما هو الجديد في الإصدار الرئيسي القادم من هذه المكتبة؟

 بداية فقد إنتقلنا مع هذا الإصدار إلى نظام SVN لإدارة الشيفرة المصدرية عوض نظام CVS قديم العهد، في حين بقيت الاستضافة على ذات مخدمات Sourceforge.net، كما أن بنية الملفات والمجلدات وتسمية تلك الملفات والمجلدات وحتى الأصناف (الكلاسات) الفرعية قد تغيرت بدورها لتتطابق مع ما هو مطلوب من معايير PEAR لمثل هذا النوع من المكتبات، للإطلاع على الشيفرة المصدرية الحالية علما أنها لا تزال قيد التطوير يمكنك زيارة الصفحة التالية:

http://www.sourceforge.net/projects/i18n-arabic

 إحدى الخطوات الهامة في هذا الإصدار هي جعل الترميز الداخلي لكافة الملفات البرمجية هو الترميز UTF-8 وبالتالي ما كنا نستخدمه سابقا من آلية مربكة لتعرف الترميز الداخلي المناسب لكل صنف فرعي وتأمين التحويل من وإلى الترميز المناسب سيتم الاستغناء عنه نهائيا مما سيوفر في مساحة الذاكرة المستهلكة ويحسن من سرعة المكتبة إضافة إلى أنه يجعل الشيفرة المصدرية نفسها أبسط وأكثر وضوحا، شكرا للأخ كفاح عيسى على هذه الملاحظة القيّمة.

 كذلك يتم إضافة الكثير من الوظائف التي سبق وأن نشرناها في صفحة الأسئلة المتكررة ضمن موقع المشروع على الرابط:

http://www.ar-php.org/faq-php-arabic.html

بحيث يتم أتمتة ودمج مثل تلك الوظائف بسلاسة ضمن هيكلية المكتبة وهو ما يفترض به أن يقلل من الحاجة إلى أي إعدادات أو معاملة خاصة للنصوص العربية طالما تم ذلك من خلال توابع ووظائف هذه المكتبة.

كذلك يتم العمل على تبسيط بعض الأمثلة وجعلها أكثر فائدة ووضوحا مثل مثال التلخيص أو مثال معايرة النص العربي أو حتى التعزيز بمثال SVG مع استخدام نصوص عربية فيه، كذلك سيتم استخدام المكتبة في عرض صورة طور القمر وفق أي تاريخ ميلادي معطى إضافة إلى ميزة الاختيار التلقائي للجنس الافتراضي بناء على الاسم المدخل في حقل نصي ما، والعديد غيرها من المقترحات.

سيتم كذلك التوجه أكثر ناحية أصحاب مواقع الويب من غير الاختصاصيين بحيث نتيح لهم شيفرات JavaScript بسيطة يضيفونها إلى مواقعهم توفر لهم بنتيجتها مجموعة متنوعة من الوظائف المبنية على هذه المكتبة، ما نقصده بمثل هذه الخطوة هو شيء شبيه بالطريقة التي تستخدمها يملي Yamli في تسويق منتجها لغير الاختصاصيين:

http://www.yamli.com/api/ar

إن مثل هكذا منحى يتيح لنا أولا توسيع طيف ودائرة المستخدمين المحتملين للمكتبة من جهة كما سبق وأن أشرنا أعلاه (عوض البقاء حكرا على المطورين والمبرمجين)، كما سيتيح مجموعة لابأس بها من وظائف المكتبة حتى على المنصات أو المواقع التي لا تستخدم لغة PHP في تطويرها أصلا، وهو ما يصب بالنتيجة إلى نفس الغاية المتعلقة بتوسيع طيف المستخدمين.

 

الأوسمة: , ,

3 responses to “كواليس الإصدار الثالث من مكتبة PHP واللغة العربية

  1. Yasser Hamdy Hamed

    15 يونيو 2011 at 10:17 صباحًا

    بإنتظار الإصدار القادم

     
  2. مؤيد المحمدي

    16 نوفمبر 2011 at 9:14 مساءً

    لايسعني إلا الشكر على مجهودكم بارك الله فيكم.

    لدي اقتراح بسيط اتمنى ان ينال قبولكم

    كنت اطور تقويم يعتمد التقويم الهجري (ام القرى) ولاحظت في كلاس arDate عدم وجود دالة لإسترجاع عدد ايام الشهر.
    اعتقد هذه الميزة كبيرة ومهم تكون موجودة في مكتبة بمستوى مكتبتكم الرائعه خصوصا مع التاريخ الهجري (مع امكانية وضع متغيير للتصحيح في حال الحاجه مثلا).

     
    • خالد الشمعة

      4 أكتوبر 2012 at 4:46 صباحًا

      ترقب إضافة هذه الميزة ضمن الإصدار 3.6.0 من مكتبة PHP واللغة العربية

       

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s

 
%d مدونون معجبون بهذه: