Pear의 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는 'back'/'pages'/'next'/'first'/'last'/'all' 링크가 포함된 정렬된 연관 배열입니다.
//주의: $links['all']은 $pager->links와 동일합니다.
//echo는 다른 페이지에 대한 링크입니다:
echo$links['모두'];
//Pager는 <link rel="first|prev|next|last"> 태그를 생성할 수도 있습니다.
echo$pager->linkTags;
//현재 페이지의 데이터 표시:
echo'페이지 데이터: ';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 배열의 매개변수를 조정하여 많은 페이징 상황을 처리할 수 있습니다. 코드의 $links 배열에는 이전 페이지/페이지 번호/다음 페이지/첫 번째 페이지/마지막 페이지/모두와 같은 일부 링크가 포함되어 있습니다. 실시예
2
요즘 많은 웹사이트에서는 SEO를 위해 다음과 같은 .htaccess 구성과 같이 동적 페이지를 정적 페이지로 가짜로 만드는 재작성 규칙을 사용합니다
.
#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에서 확장되었으며
작성자: Volcano입니다
.2006년 9월 22일 오전 7시 16분에 게재됨
저작권 정보: 마음대로 재인쇄할 수 있습니다. 재인쇄할 때는 반드시 해당 기사의 원본 출처와 저자 정보 및
이 성명의 영구 링크를 하이퍼링크 형식으로
표시해 주시기 바랍니다.