A classe de paginação Pager do Pear é uma classe de paginação PHP muito útil. Ela é altamente escalonável e pode se adaptar às necessidades de várias situações de paginação. Pelo menos em meus projetos grandes e pequenos nos últimos anos, basicamente não escrevi código adicional para paginação. ., todos usam Pager, o que mostra a forte usabilidade do Pager. Vamos usar o código para ver seus exemplos de uso:
Exemplo 1.
TEXTO SIMPLES
PHP:
<?php
require_once'Pager/Pager.php';
$params=array(
'modo' =>'Salto',
'porPágina' =>3,
'delta' =>2,
'itemData' =>array('a','b','c','d','e',[...omissis...],'z')
);
$pager= & Pager::fábrica($params);
$dados =$pager->getPageData();
$links=$pager->getLinks();
//$links é um array ordenado+associativo com links 'back'/'pages'/'next'/'first'/'last'/'all'
//NB: $links['all'] é o mesmo que $pager->links;
//eco links para outras páginas:
echo$links['todos'];
//O Pager também pode gerar tags <link rel="first|prev|next|last">
echo$pager->linkTags;
//Mostra dados da página atual:
echo'DADOS PAGADOS: ';print_r($dados);
//Resultados dos métodos:
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->intervalo.....: ';var_dump($pager->intervalo);
?>
Ao usar o Pager, você pode lidar com muitas situações de paginação ajustando os parâmetros da matriz $param. A matriz $links no código contém alguns links, como página anterior/número da página/próxima página/primeira página/última página/tudo. Exemplo
2
Hoje em dia, muitos sites usam regras de reescrita para transformar páginas dinâmicas em páginas estáticas para fins de SEO, como a seguinte configuração .htaccess:
RewriteEngine on
#Options FollowSymlinks
RewriteBase /
RewriteRule ^articles/([az]{1,12})/art([0-9]{1,4}).html$ /article.php?num=$2&month=$1 [L]
Mesmo neste In neste caso, a paginação do Pager ainda tem uma maneira de funcionar, veja o código abaixo
PLAIN TEXT
PHP:
<?php
require_once'Pager/Pager.php';
//primeiro pager
$params1=array(
'porPágina' =>3,
'urlVar' => pageID_articles, //1º identificador
'itemData' =>$someArray
);
$pager1= & Pager::fábrica($params1);
$data1 =$pager1->getPageData();
$links1=$pager1->getLinks();
//segundo pager
$params2=array(
'por página' =>8,
'urlVar' => pageID_news, //2º identificador
'itemData' =>$someOtherArray
);
$pager2= & Pager::fábrica($params2);
$data2 =$pager2->getPageData();
$links2=$pager2->getLinks();
?>
Ao configurar $param, você pode mapear o link "/articles/march/art15.html" para o link "/article.php?num=15&month=march", que mostra
uma escalabilidade mais flexível.
paginação
baseada em caminho escrita anteriormente - Pager::Pathing(), este método foi estendido do Pager e atendeu às necessidades da época.
Publicado em 22 de setembro de 2006 às 7h16
Informações sobre direitos autorais: Você pode reimprimir à vontade Ao reimprimir, certifique-se de indicar a fonte original e as informações do autor do artigo e
o link permanente desta declaração na forma de um hiperlink. - http://www.ooso.net/index.php/archives/250.