تعد فئة الترحيل Pear's Pager فئة ترحيل PHP مفيدة جدًا، وهي قابلة للتطوير بشكل كبير ويمكنها التكيف مع احتياجات مواقف الترحيل المختلفة، على الأقل في مشاريعي الكبيرة والصغيرة خلال السنوات القليلة الماضية، لم أكتب تعليمات برمجية إضافية للترحيل ، جميعها تستخدم جهاز Pager، مما يوضح سهولة استخدام جهاز Pager. دعنا نستخدم الكود لرؤية أمثلة استخدامه:
المثال 1
نص عادي
PHP:
<?php
require_once'Pager/Pager.php';
$params=صفيف(
'الوضع' =>'القفز'،
'لكل صفحة' =>3،
'دلتا' =>2،
'itemData' =>array('a','b','c','d','e',[...omissis...],'z')
);
$pager= & Pager::factory($params);
$data =$pager->getPageData();
$links=$pager->getLinks();
//$links عبارة عن مصفوفة ترابطية مرتبة + تحتوي على روابط "رجوع"/"صفحات"/"التالي"/"الأول"/"الأخير"/"الكل"
// ملحوظة: $links['all'] هو نفس $pager->links;
// صدى الروابط إلى صفحات أخرى:
echo$links['all'];
// يستطيع جهاز النداء أيضًا إنشاء علامات <link rel="first|prev|next|last">
echo$pager->linkTags;
// عرض بيانات الصفحة الحالية:
echo'PAGED DATA: ';print_r($data);
// نتائج الطرق:
echo'getCurrentPageID()...: ';var_dump($pager->getCurrentPageID());
echo'getNextPageID()......: ';var_dump($pager->getNextPageID());
echo'getPreviousPageID()..: ';var_dump($pager->getPreviousPageID());
echo'numItems().....: ';var_dump($pager->numItems());
echo'numPages().....: ';var_dump($pager->numPages());
echo'isFirstPage().....: ';var_dump($pager->isFirstPage());
echo'isLastPage()..........: ';var_dump($pager->isLastPage());
echo'isLastPageComplete().: ';var_dump($pager->isLastPageComplete());
echo'$pager->range.....: ';var_dump($pager->range);
?>
عند استخدام Pager، يمكنك التعامل مع العديد من حالات الترحيل عن طريق ضبط معلمات المصفوفة $param. تحتوي مصفوفة الروابط $ في الكود على بعض الروابط، مثل الصفحة السابقة/رقم الصفحة/الصفحة التالية/الصفحة الأولى/الصفحة الأخيرة/الكل. مثال
2
في الوقت الحاضر، تستخدم العديد من مواقع الويب قواعد إعادة الكتابة لتزييف الصفحات الديناميكية وتحويلها إلى صفحات ثابتة من أجل تحسين محركات البحث، مثل تكوين .htaccess التالي:
RewriteEngine on
#Options FollowSymlinks
RewriteBase /
RewriteRule ^articles/([az]{1,12})/art([0-9]{1,4}).html$ /article.php?num=$2&month=$1 [L]
حتى في هذا في هذه الحالة، لا يزال لدى ترحيل النداء طريقة للعمل، راجع الكود الموجود أسفل
نص عادي
PHP:
<?php
require_once'Pager/Pager.php';
// النداء الأول
$params1=صفيف(
'لكل صفحة' =>3،
'urlVar' => pageID_articles, // المعرف الأول
'itemData' =>$someArray
);
$pager1= & بيجر::factory($params1);
$data1 =$pager1->getPageData();
$links1=$pager1->getLinks();
// جهاز النداء الثاني
$params2=صفيف(
'لكل صفحة' =>8،
'urlVar' => pageID_news, // المعرف الثاني
'itemData' =>$someOtherArray
);
$pager2= & بيجر::factory($params2);
$data2 =$pager2->getPageData();
$links2=$pager2->getLinks();
?>
من خلال تكوين $param، يمكنك تعيين الرابط "/articles/march/art15.html" إلى الرابط "/article.php?num=15&month=march"، والذي يعرض
قابلية التوسع بشكل أكثر مرونة.
لكي نكون منصفين، فإن قابلية التوسع لفئة Pager جيدة أيضًا. على سبيل المثال، فئة الترحيل القائمة على المسار المكتوبة مسبقًا - Pager::Pathing()، تم تمديد هذه الطريقة من Pager وتلبية احتياجات
المؤلف
في ذلك الوقتتم النشر في 22 سبتمبر 2006 الساعة 7:16 صباحًا
معلومات حقوق الطبع والنشر: يمكنك إعادة الطباعة متى شئت، يرجى التأكد من الإشارة إلى المصدر الأصلي ومعلومات المؤلف للمقال والرابط
الدائم لهذا البيان في شكل ارتباط تشعبي. - http://www.ooso.net/index.php/archives/250