ホームページ  >  記事  >  バックエンド開発  >  PHP フレームワーク Laravel プラグイン ページネーションはカスタム ページングを実装します。laravelpagination_PHP チュートリアル

PHP フレームワーク Laravel プラグイン ページネーションはカスタム ページングを実装します。laravelpagination_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:50:31827ブラウズ

PHP フレームワーク Laravel プラグイン Pagination は、カスタム ページネーション、laravelpagination を実装します

Laravel のページングは​​非常に便利で、実際に拡張するのは非常に簡単です。以下の例を実行して、paginate() メソッドと simplePaginate() メソッドを拡張して実装してみましょう。もちろん「」「」ではなく「前ページ」「次ページ」を表示するなど、ページングのスタイルをカスタマイズします。 、特定のページにジャンプしたり、ページネーションのレコードの総数や現在表示されているレコードの範囲などを表示します。 。 。

5.1 と 5.2 は同じ方法であるはずです。ここでは 5.2 バージョンを使用しています。ドキュメントによると、Paginator はクエリ ビルダーと Eloquent の simplePaginate メソッドに対応し、LengthAwarePaginator は paginate メソッドに相当します。次に、ソース コードを見て、paginate が render() を実装する方法を確認してみましょう

イルミネーション/ページネーション/長さAwarePaginator.php

リーリー

render()で渡されるのはPresenterのインスタンスであり、このインスタンス化のrenderメソッドを呼び出すことでページング表示を実現します。そうでない場合は、BootstrapThreePresenter で render() を呼び出して、BootstrapThreePresenter の動作を確認してください

イルミネーション/ページネーション/ブートストラップThreePresenter.php

リーリー

ここでは、BootstrapThreePresenter が PresenterContract のインターフェイスを実装していることがわかります。render() はページング表示の実際の実装です。構築メソッド PaginatorContract が実際には Paginator であることを見ていきましょう。プレゼンターインターフェイスで定義されているため、実現する必要があります

illuminate/contracts/Pagination/Presenter.php

リーリー

render メソッドと hasPages メソッドが定義されており、実装する必要があります

これで、ページング表示をカスタマイズしたい場合は、インターフェイスに render() と hasPages() を実装する独自の Presenter を作成する必要があることが明確になりました。

まず、中央にページネーション番号の例を使用して、「前のページ」と「次のページ」を表示する paginate() を単純に実装してみましょう。

以下のように新規ファイルを作成します(個人的な習慣)

app/Foundations/Pagination/CustomerPresenter.php

リーリー

これは非常に簡単で、主にプロジェクト内でページング スタイルを変更したり、ページング ジャンプを追加したりする必要がある場合は、各表示メソッドの HTML 要素を書き換えるだけで済みます。これも非常に柔軟です。たとえば、ページネーションは $users と呼ばれ、デフォルトのページネーション表示は次のようになります。

{$users->render() !!}
カスタマイズされたページング表示に変更されました:

{!! with(new AppFoundationsPaginationCustomerPresenter($categories))->render() !!}
これで、ページ上に「前のページ」と「次のページ」のスタイルに加えて、ページング リンクの番号が表示されるはずです。

simplePaginate を拡張するとどうなるでしょうか? 実際には、CustomerPresenter を継承して hasPages を実装し、レンダリングするだけです。たとえば、上記のソース コードを参照するだけです。 「前の記事」と「次の記事」に変更します

新しい AppFoundationsPaginationCustomerSimplePresenter.php

リーリー

ページ表示:

{!! with(new AppFoundationsPaginationCustomerSimplePresenter($categories))->render() !!}

このメソッドを変更し、必要に応じて HTML 要素を表示する対応するメソッドを書き換えるだけです。

転載する際は明記してください: Ryan は LNMP テクノロジー スタック ノートから転載しました

以上がこの記事の全内容です。PHP プログラミングを学習する皆さんのお役に立てれば幸いです。

http://www.bkjia.com/PHPjc/1133117.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/1133117.html技術記事 PHP フレームワーク Laravel プラグイン Pagination はカスタム ページングを実装します。 Laravel のページングは​​非常に便利です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。