Laravelフレームワークはページネーション分析を実装します
この記事では主にLaravelフレームワークのページング実装方法を紹介し、Laravelフレームワークのコアコードと関連原理を分析してページング機能を実装する例を必要とする友人に参照してください
この記事の例では、Laravel Framework のページング実装方法について説明します。参考までに皆さんと共有してください。詳細は次のとおりです。
Laravel を使用するプロセスでは、一部の関数はページング ボタンなどのフロントエンド ページの表現を「ハードコーディング」します。
もちろん、Laravel の Bootstrap スタイルも非常に美しいと言われるでしょうが、実際のプロジェクトでは、特に携帯電話への対応をサポートする Web APP を開発する場合、ページめくりボタンが顧客のニーズを満たす必要があることがよくあります。カスタムスタイル。
つまり、何かを学ぶときは、ただ理解するだけではなく、その原理を学ぶ必要があります。
まず、Laravel がページングを行う方法を見てみましょう。ページング ボタンを生成するコードはどこにあるでしょうか。
Laravel Directory\vendor\laravel\framework\src\Illuminate\PaginationNext
まずはクラスの継承関係を整理しましょう
PresenterContract (親クラス)
┗BootstrapThreePresenter(サブクラス)<-SimpleBootstrapThreePresenter
┗BootstrapFourPresenter(サブクラス)< - SimpleBootstrapFourPresenter
作者によるクラスの名前から判断すると、違いがあるはずです。コードから勉強してみましょう。
の主な違い。 BootstrapThreePresenter.php と BootstrapFourPresenter.php は次の関数にあります
BootstrapThreePresenter.php コード:
/** * Get HTML wrapper for an available page link. * * @param string $url * @param int $page * @param string|null $rel * @return string */ protected function getAvailablePageWrapper($url, $page, $rel = null) { $rel = is_null($rel) ? '' : ' rel="'.$rel.'"'; return '<li><a href="'.htmlentities($url).'" rel="external nofollow" rel="external nofollow" '.$rel.'>'.$page.'</a></li>'; } /** * Get HTML wrapper for disabled text. * * @param string $text * @return string */ protected function getDisabledTextWrapper($text) { return '<li class="disabled"><span>'.$text.'</span></li>'; } /** * Get HTML wrapper for active text. * * @param string $text * @return string */ protected function getActivePageWrapper($text) { return '<li class="active"><span>'.$text.'</span></li>'; }
BootstrapFourPresenter.php コード:
/** * Get HTML wrapper for an available page link. * * @param string $url * @param int $page * @param string|null $rel * @return string */ protected function getAvailablePageWrapper($url, $page, $rel = null) { $rel = is_null($rel) ? '' : ' rel="'.$rel.'"'; return '<li class="page-item"><a class="page-link" href="'.htmlentities($url).'" rel="external nofollow" rel="external nofollow" '.$rel.'>'.$page.'</a></li>'; } /** * Get HTML wrapper for disabled text. * * @param string $text * @return string */ protected function getDisabledTextWrapper($text) { return '<li class="page-item disabled"><a class="page-link">'.$text.'</a></li>'; } /** * Get HTML wrapper for active text. * * @param string $text * @return string */ protected function getActivePageWrapper($text) { return '<li class="page-item active"><a class="page-link">'.$text.'</a></li>'; }
最大の違いは、ThreePresenter はほぼ「裸の」HTML タグであるのに対し、FourPresenter はクラスを含む HTML タグを生成することです。
ThreePresenter であろうと FourPresenter であろうと、それらはすべて render() 関数の同じ実装を持っています
/** * Convert the URL window into Bootstrap HTML. * * @return \Illuminate\Support\HtmlString */ public function render() { if ($this->hasPages()) { return new HtmlString(sprintf( '<ul class="pagination">%s %s %s</ul>', $this->getPreviousButton(), $this->getLinks(), $this->getNextButton() )); } return ''; }
注意深い読者は次のことを発見しました。継承された 2 つのクラスは SimpleThreePresenter と SimpleFourPresenter です。これらは Simple (単純) であるため、違いは render() 関数です。
/** * Convert the URL window into Bootstrap HTML. * * @return \Illuminate\Support\HtmlString */ public function render() { if ($this->hasPages()) { return new HtmlString(sprintf( '<ul class="pager">%s %s</ul>', $this->getPreviousButton(), $this->getNextButton() )); } return ''; }
つまり、 SimpleThreePresenter および SimpleFourPresenter によって生成されるページング ボタンには「ページ番号」はなく、「前ページ」ボタンと「次ページ」ボタンのみがあります。
上記がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項:
以上がLaravelフレームワークはページネーション分析を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 開発: テーブル データのソート機能とページング機能を実装する方法 Web 開発では、大量のデータを処理するのが一般的なタスクです。大量のデータを表示する必要があるテーブルの場合、通常、優れたユーザー エクスペリエンスを提供し、システム パフォーマンスを最適化するために、データの並べ替え機能とページング機能を実装する必要があります。この記事では、PHP を使用してテーブル データのソート機能とページング機能を実装する方法と、具体的なコード例を紹介します。ソート機能はテーブルにソート機能を実装しており、ユーザーはさまざまなフィールドに従って昇順または降順でソートできます。以下は実装フォームです

CakePHP は、開発者に多くの便利なツールと機能を提供する強力な PHP フレームワークです。その 1 つはページネーションです。これは、大量のデータを複数のページに分割し、閲覧と操作を容易にするのに役立ちます。デフォルトでは、CakePHP はいくつかの基本的なページネーション メソッドを提供しますが、場合によってはカスタムのページネーション メソッドを作成する必要がある場合があります。この記事では、CakePHP でカスタム ページネーションを作成する方法を説明します。ステップ 1: カスタム ページネーション クラスを作成する まず、カスタム ページネーション クラスを作成する必要があります。これ

データが増大し続けると、表形式の表示がより困難になります。ほとんどの場合、テーブル内のデータの量が多すぎるため、読み込みが遅くなり、ユーザーは必要なデータを見つけるために常にページを参照する必要があります。この記事では、JavaScript を使用して表データのページ分割表示を実現し、ユーザーが目的のデータを見つけやすくする方法を紹介します。 1. テーブルを動的に作成する ページング機能をより制御しやすくするには、テーブルを動的に作成する必要があります。 HTML ページに、以下のようなテーブル要素を追加します。

JavaScript を使用してテーブル ページング機能を実装するにはどうすればよいですか?インターネットの発展に伴い、テーブルを使用してデータを表示する Web サイトがますます増えています。データ量が多い場合には、ユーザー エクスペリエンスを向上させるためにデータをページに表示する必要があります。この記事では、JavaScript を使用してテーブル ページング機能を実装する方法と具体的なコード例を紹介します。 1. HTML 構造 まず、テーブルとページング ボタンをホストするための HTML 構造を準備する必要があります。 <tab を使用できます

MyBatis は優れた永続層フレームワークであり、XML とアノテーションに基づいたデータベース操作をサポートし、シンプルで使いやすく、豊富なプラグイン メカニズムも提供します。その中でも、ページング プラグインは、よく使用されるプラグインの 1 つです。この記事では、MyBatis ページング プラグインの原理を詳しく説明し、具体的なコード例で説明します。 1. ページング プラグインの原理 MyBatis 自体はネイティブ ページング機能を提供しませんが、プラグインを使用してページング クエリを実装できます。ページング プラグインの原理は主に MyBatis を傍受することです

Laravel フレームワークでモデル イベント (ModelEvents) を使用する方法 Laravel フレームワークには多くの強力な機能が用意されており、その 1 つがモデル イベント (ModelEvents) です。モデルイベントは、Laravel の EloquentORM (オブジェクト リレーショナル マッピング) で使用される機能で、モデル上で特定のアクションが発生したときに開発者がカスタム コードを実行できるようにします。この記事では、Laravel フレームワークでモデル イベントを使用する方法を検討し、

Vue コンポーネントの実践: ページング コンポーネント開発の概要 Web アプリケーションでは、ページング機能は不可欠なコンポーネントです。優れたページング コンポーネントは、プレゼンテーションがシンプルかつ明確で、機能が豊富で、統合と使用が簡単である必要があります。この記事では、Vue.js フレームワークを使用して高度にカスタマイズ可能なページング コンポーネントを開発する方法を紹介します。 Vueコンポーネントを使った開発方法をコード例を通して詳しく解説します。テクノロジースタック Vue.js2.xJavaScript (ES6) HTML5 および CSS3 開発環境

Layui を使用してページング機能を備えたデータ表示ページを開発する方法 Layui は、シンプルで美しいインターフェイス コンポーネントと豊かなインタラクティブ エクスペリエンスを提供する軽量のフロントエンド UI フレームワークです。開発中、大量のデータを表示し、ページングを実行する必要がある状況によく遭遇します。以下はLayuiを使用して開発したページング機能付きのデータ表示ページの例です。まず、Layui 関連のファイルと依存関係を導入する必要があります。 HTML ページの <head> タグに次のコードを追加します。
