Pear の Pager ページング クラスは非常に便利な PHP ページング クラスであり、拡張性が高く、さまざまなページング状況のニーズに適応できます。少なくとも過去数年間の大小のプロジェクトでは、私は基本的に何も書いていません。コードを見ると、すべて Pager が使用されています。これは、Pager の強力な使いやすさを示しています。コードを使用して、その使用例を見てみましょう。
プレーンテキスト RewriteEngine on RewriteBase / この場合でも、ポケベルページングはまだ機能する方法があります。以下のコードを参照してください PHP:
PHP:
require_oncePager/Pager.php;
$params=array(
mode =>Jumping,
perPage =>3,
delta =>2,
itemData =>array(a,b,c,d,e,[...省略...],z)
);
$pager= & Pager::factory($params);
$data =$pager ->getPageData();
$links=$pager->getLinks();
//$links は、back/pages/next/first/last/all リンクを持つ順序付き + 連想配列です
//NB: $ links[all] は $pager->links;
と同じです
//他のページへのリンクをエコーします:
echo$links[all];
//Pager は tags
echo$pager->linkTags;
//現在のページのデータを表示:
echoPAGED DATA: ;print_r($data);
//メソッドの結果:
echogetCurrentPageID() ...: ;var_dump($pager->getCurrentPageID());
echogetNextPageID()....: ;var_dump($pager->getNextPageID());
echogetPreviousPageID()..: ;var_dump ($pager->getPreviousPageID());
echonumItems()....: ;var_dump($pager->numItems());
echonumPages().... .. ...: ;var_dump($pager->numPages());
echoisFirstPage()....: ;var_dump($pager->isFirstPage());
echoisLastPage(). ...: ;var_dump($pager->isLastPage());
echoisLastPageComplete().: ;var_dump($pager->isLastPageComplete());
echo$pager->range ..... ..: ;var_dump($pager->range);
?>
Pager では、$param 配列のパラメーターを調整する限り、コード内の $links のさまざまな種類の状況に対処できます。配列には、前のページ/ページ番号/次のページ/最初のページ/最後のページ/すべてなどのリンクが含まれています。
例 2
#Options FollowSymlinks
RewriteRule ^articles/([a-z]{1,12})/art([0-9]{1,4}).html$ /article.php?num=$2&month=$1 [L]
//first pager
$params1=array(
perPage =>3,
urlVar =>pageID_articles, //1番目の識別子
itemData =>$someArray
);
$pager1= & Pager::factory($params1);
$data1 =$pager1->getPageData();
$links1=$pager1->getLinks();
//2 番目のページャー
$params2=array(
perPage =>8,
urlVar => pageID_news, //2 番目の識別子
itemData =>$someOtherArray
);
$pager2= & Pager::factory($params2 );
$data2 =$pager2->getPageData();
$links2=$pager2->getLinks();
?>
$param を設定することで、「/articles/march/art15」というリンクを置くことができます.html「リンクに対応」/article.php?num=15&month=march」、より柔軟なパフォーマンス
拡張性
公平を期すために、Pager クラスのスケーラビリティも優れています。たとえば、以前に作成したパスベースのページング クラス - Pager::Pathing() は、Pager から拡張され、当時のニーズを満たしていました。
作成者:volcano投稿日: 2006 年 9 月 22 日、午前 7:16
固定リンク - http://www.ooso.net/index.php/archives/250
http://www.bkjia.com/PHPjc/486639.html
www.bkjia.com