كما لاحظنا في الدروس السابقة أنني كنت أشرح أوامر قمت ببرمجتها لتعمل داخل القالب وهذه الأوامر سبق وتحدثت عنها إذ تعمل على حماية الملفات التنفيذيه وتقلل من صعوبه العمل في تصميم الموقع فالبرمجه مفصوله عن التصميم ولها فوائد كبيره
ولكن في بعض الأحيان نحتاج لإنتاج أمر غير موجود في الأوامر السابقة مثل أمر طباعة عدد أحرف جمله ما أو أي أمر آخر
في البرمجه نقوم بذلك عن طريق إستخدام داله متوفره أو نقوم ببرمجه داله لهذا العمل
في المفسر الخاص بهذا الإطار يمكنك إنشاء أمر معين بكل سهوله
لنرى كيف يتم ذلك
في البدايه قم بالإطلاع على ملفات المفسر فهي بسيطه , عباره عن ملف واحد :) عدد السطور فيه أقل من مئة سطر موجود في الإضافات , إضافة جمل برمجيه
urorbit_fw/plugin/syntax/index,php
ستجد في نفس المجلد مجلد آخر بإسم إضافات
plugin
ومن هنا يمكنك إنشاء أوامر أخرى
هناك طريقتين لتعريف أمر برمجي من خلال هذا المفسر الاولى :
قم بفتح أي ملف داخل مجلد الإضافات الخاصه بالمجلد ولنفرض أنه الملف
urorbit_fw/plugin/syntax/plugin/hack_session_var
ثم في البدايه نقوم بتعريف الأمر كما يلي :
$_SESSION[SYNTAX_WORD][]="strlen";
الأمر الذي عرفناه هو
strlen
الآن نبدأ بإنشاء الداله التي ستقوم بتنفيذ هذا الأمر
function SYNTAX_strlen($template) {
return strlen($template);
}الداله واضحه ولا تحتاج إلى شرح ولكن مايهمنا الآن هو تسميه الداله , كما ترى قبل الأمر الذي أردنا إنشاؤه وعرفناه في الأعلى إستخدمنا الكلمه
SYNTAX_
وهي مهمه لكي لا تتعارض داله موجوده أصلا مع هذه الدوال كما في دالتنا هذه فهي موجوده أصلا.
الآن لنكتب الأمر الذي قمنا بتعريفه داخل أي قالب ونتأكد من أنه يعمل بنجاح كما يلي ... داخل القالب
[strlen:"bassam"end strlen]
النتيجة ستكون الرقم 6 وهي عدد حروف كلمة بسام
بعد أن رأينا سهوله الأمر ... ماذا لو كان الأمر سيأخذ أكثر من متغير ؟
مثلا نريد إنشاء أمر يقوم بقص كلمة هوه الأمر
substr($string, $start, $length)
هذا االأمر يأخذ ثلاث متغيرات الأول الكلمة والثاني البدء بالقص من أي حرف والثالث عدد الحروق التي سيقوم بقصها
سنطبق هذا الأمر بالطريقة الثانيه لتعريف أوامر المفسر
نقوم بإنشاء ملف بإسم
substr.php
داخل مجلد الإضافات الخاص بالمفسر
عن إنشاء هذا الملف نكون قد عرفنا الأمر وإستغنينا عن الكود السابق وهو
$_SESSION[SYNTAX_WORD][]="substr";
الآن داخل الملف الذي أنشأناه نكتب الداله التي سيتم تنفيذها
function SYNTAX_substr($template) {الآن سنقوم بفرز المتغيرات ونستخدم هذا الكود
$VAR_x=explode('^|^', $template);بهذا نكون قد حصلنا على مصفوفه تحتوي على المتغيرات بالكامل
المتغير الأول هو
$VAR_x[0]
والثاني هو
$VAR_x[1]
وهكذا ...
يمكن أن يكون المتغير عباره عن أمر صح ؟
إذن يجب أن نقوم بتنفيذ كل متغير لكي نحصل على النتيجه ويتم ذلك من خلال هذا الأمر قبل أمر فرز المتغيرات
$template = do_syntax($template);
بعد أن قمنا بتصفيه المتغيرات نقوم بكتابه داله القص ويكون الملف يحتوي على ما يلي :
<?php
function SYNTAX_substr($template) {
$template = do_syntax($template);
$VAR_x=explode('^|^', $template);
$VAR_x[1]=(!$VAR_x[1])?0:$VAR_x[1];
$VAR_x[2]=(!$VAR_x[2])?strlen($VAR_x[0]):$VAR_x[2];
return substr($VAR_x[0],$VAR_x[1],$VAR_x[2]);
}
?>الآن نقوم بتجربه الأمر داخل القالب :
[substr:"bassam","2","2"end substr] <br> [substr:"bassam","2"end substr] <br> [substr:"bassam","","2"end substr] <br> [substr:"[var:"a"end var]","0","10"end substr] <br>
النتيجة للأوامر السابقة في حال تم إرسال متغير أ وقيمته الفريق العربي للبرمجه
a=arabteam2000
اقتباسss
ssam
ba
arabteam20
دمتم بحفظ الله
