Rumah > pembangunan bahagian belakang > tutorial php > 使用symfony分页的实现方法

使用symfony分页的实现方法

一个新手
Lepaskan: 2023-03-16 14:58:01
asal
2104 orang telah melayarinya

1.symfony分页是要用到组件的,所以这里使用KnpPaginatorBundle实现翻页

2. 用composer下载

   在命令行中:  composer require "knplabs/knp-paginator-bundle"  

3.需要到框架里面注册该组件在项目下的app/Resources/AppKernel.php里面注册   

 public functionregisterBundles() {   
            $bundles = [                     
            new   Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(),         ];    
         }
Salin selepas log masuk

4.控制器中的代码


class NewsController extends Controller
{
    /**
     * 2016-1-19
     * auth:lsf
     * 查询列表
     * @param   int $page   页数
     * @param   int $limit  显示条数
    */
    public function indexAction($page,$limit){
        $em = $this->getDoctrine()->getManager();
        $qb = $em->getRepository('AppBundle:DemoList')->createQueryBuilder('u');
//Appbundle是你的模块DemoList是你的表实体 u是别名后面可接条件
        $paginator = $this->get('knp_paginator');
        $pagination = $paginator->paginate($qb, $page,$limit);
        return $this->render('news/list.html.twig',['pagination' => $pagination]);
    }
}
Salin selepas log masuk

5.路由

news_page:
  path: "/news/{page}/{limit}"
  defaults: {_controller: AppBundle:News:index,page:1,limit:2}
Salin selepas log masuk


6.模板
{% for value in pagination %}
{{value.title}}{#直接就是值了#}
{% endfor %}
{{ knp_pagination_render(pagination) }}
Salin selepas log masuk

Atas ialah kandungan terperinci 使用symfony分页的实现方法 . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan