مكتبة الشروحات



 تصنيفات المكتبة





 جوال ديموفنف


اشترك الآن في موبايل ديموفنف واستمتع بعالم جديد من الخدمات المتميزة وبسعر رمزي تصلك رسائلنا على موبايلك أينما كنت . تفاصيل


 محول العملات


  • العملة
  • المبلغ بالدولار

نظام الكاش



ديموفنف توفر لك نظام إحترافي سلس للحفظ المؤقت لصفحات الموقع (Cache) ، هناك نقاط أساسية يجب فهمها عن نظام كاش ديموفنف :

  • يتم حفظ ملفات الكاش في المسار التالي contents/cache .
  • فترة بقاء الكاش للصفحات قبل حذفها و إعادة تعيين ملفات كاش جديدة ، تتم وفقاً لخيار إعدادات فترة بقاء الكاش من إعدادات ديموفنف.
  • آلية عمل الكاش عبارة عن أنه في بداية الأكشن يتم إستدعاء دالة startcache() ووضع الأكشن ضمن دالة IF الشرطية ، لتأكيد القيمة المرجعه من الدالة ، حيث تقوم الدالة بالتأكد إن كان هناك ملف كاش للصفحة الحالية أم لا ، في حالة وجوده فتقوم بجلب ملف الكاش و عرضه و لا تقوم بتنفيذ باقي خطوات الأكشن ، أما في حالة عدم وجود ملف كاش ، فتقوم بتنفيذ الأكشن و في النهاية تقوم بحفظ نسخة من نتيجة الأكشن شاملة متغيراته كملف كاش في مجلد الكاش.

دوال و ثوابت الكاش :

  • define('CACHEGROUP', THIS_PRODUCT);

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

مثال :

PHP :
{* php buffer start *} define('THIS_PRODUCT''article');
define('CACHEGROUP'THIS_PRODUCT); 
{* php buffer end *}

  • startcache(CACHEGROUP)

يتم إستدعائها في بداية الأكشن داخل كود الـPHP ، تقوم هذه الدالة بفحص ملفات الكاش للتأكيد إن كان هناك ملف كاش للصفحة المطلوبة أم لا ، في حال كان هناك ملف كاش ، فيقوم بقرائته و إرجاع قيمته المقرؤة.

  • endcache(CACHEGROUP)

يتم إستدعاء هذه الدالة في نهاية الأكشن داخل كود الـPHP ، تقوم هذه الدالة بطباعة محتوي ملف الكاش إن وجد ، كما تقوم بحذفه في حال كان الملف قديم و تعدي مدة بقاء ملف الكاش ، كما أنها تقوم بإنشاء ملف الكاش في حال أنه لم يكن موجود.

مثال توضيحي للكاش :

PHP :
{* php buffer start *} define('THIS_PRODUCT''article');
define('CACHEGROUP'THIS_PRODUCT);
if(
$dimofinf->GPC['action'] == "l" && !$dimofinf->GPC['id'])
{
$cachedata = startcache(CACHEGROUP);
if(
$cachedata === false)
{
// تنفيذ خطوات الأكشن
mk_template("template.htm");
..
..
$tpl->printToScreen();
}
endcache(CACHEGROUP);

{* php buffer end *}


هل كانت المقالة مفيدة ؟

أضفة للمفضلة أضفة للمفضلة    طباعة طباعة


Online