Laravelアプリケーションでページアクセラレーションにpjaxを使用する方法
注: PHPHub は、Web ページの読み込みを高速化するために pjax を使用します。この記事は、この関数の開発後に作成されたメモです。
関連する推奨事項: "laravel チュートリアル "
Pjax とは
.--. / \ ## a a ( '._) |'-- | _.\___/_ ___pjax___ ."\> \Y/|<'. '._.-' / \ \_\/ / '-' / | --'\_/|/ | _/ |___.-' | |`'` | | | | / './ /__./` | | \ | | \ | | ; | | / | | jgs |___\_.\_ `-"--'---'
プロジェクトのアドレスはこちら、公式紹介:
pushState ajax = pjax
詳しい説明については、こちらをご覧ください。この問題については、「この問題について」を参照するか、自分で情報を確認してください。
これを簡単に説明すると、ajax
テクノロジを使用してサーバーからドキュメントを取得し、現在のページを何もせずに更新します。ブラウザ ページを更新することで、ページの js
と css
およびその他の assets
ファイルが繰り返し読み込まれないようにすることができます。ブラウザによって提供される ##pushState 関数は URL を更新し、ユーザーが [戻る] ボタンをクリックして履歴ページに戻れるようにします。
Pjax を使用する理由ページ全体を更新する必要がなく、注:すべてのブラウザが PushState をサポートしているわけではありません。ブラウザの互換性については、こちらを参照してください。ブラウザに互換性がない場合、自動的に元のブラウジング方法を使用してアクセスします。
assets ファイルを再ロードする必要がないため、ページの読み込み速度が大幅に向上します。
rcrowe/Turbo
パッケージ rcrowe/Turbo を使用します。インストール rcrowe/Turbo
# の require 属性の下に追加します。
composer.json:
"rcrowe/turbo": "0.2.*"
composer update または
composer install
プロバイダー
#app/config/app.php ファイルを編集し、オプション providers
配列を追加します: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>"Turbo\Provider\Laravel\TurboServiceProvider",</pre><div class="contentsignin">ログイン後にコピー</div></div>
pjax.jsをダウンロード
フォルダーの下 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>wget https://raw.github.com/defunkt/jquery-pjax/master/jquery.pjax.js</pre><div class="contentsignin">ログイン後にコピー</div></div>
次に、このファイルをテンプレートに読み込みます
<script src="{{ cdn('js/jquery.pjax.js') }}"></script>
最後のページで呼び出します:
$(document).ready(function(){ $(document).pjax('a', 'body');});
上記のコードの説明は、 a
タグのクリック イベントをすべて にインターセプトすることです。現在のブラウザが pjax
をサポートしている場合は、ajax リクエストを送信し、パラメーター _pjax=body## を持ち込んでください。 #.
If すべてがうまくいけば、Chrome のデバッガーで次のようなリクエストが表示されます。
この時点で、構成は正常に完了しています。完了しました。
追加nprogress
# 達成するには rstacruz/nprogress を使用します。
追加方法は、ファイルをダウンロードし、nprogress.js
とnprogress.css をページへ:
<script src='nprogress.js'></script> <link rel='stylesheet' href='nprogress.css'/>
Call
#上記のコードを変更します。変更後のコードは次のとおりです:$(document).ready(function(){ $(document).pjax('a', 'body'); $(document).on('pjax:start', function() {
NProgress.start(); }); $(document).on('pjax:end', function() {
NProgress.done();
self.siteBootUp(); });});
ログイン後にコピーこの場合、ページをクリックするたびにクールな効果が得られます
$(document).ready(function(){ $(document).pjax('a', 'body'); $(document).on('pjax:start', function() { NProgress.start(); }); $(document).on('pjax:end', function() { NProgress.done(); self.siteBootUp(); });});
以上がLaravelアプリケーションでページアクセラレーションにpjaxを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









Laravel 9 と CodeIgniter 4 の最新バージョンでは、更新された機能と改善が提供されます。 Laravel9はMVCアーキテクチャを採用しており、データベース移行、認証、テンプレートエンジンなどの機能を提供します。 CodeIgniter4 は、HMVC アーキテクチャを使用してルーティング、ORM、およびキャッシュを提供します。パフォーマンスの面では、Laravel9 のサービスプロバイダーベースの設計パターンと CodeIgniter4 の軽量フレームワークにより、優れたパフォーマンスが得られます。実際のアプリケーションでは、Laravel9 は柔軟性と強力な機能を必要とする複雑なプロジェクトに適しており、CodeIgniter4 は迅速な開発や小規模なアプリケーションに適しています。

Laravel と CodeIgniter のデータ処理機能を比較します。 ORM: Laravel はクラスとオブジェクトのリレーショナル マッピングを提供する EloquentORM を使用しますが、CodeIgniter は ActiveRecord を使用してデータベース モデルを PHP クラスのサブクラスとして表します。クエリビルダー: Laravel には柔軟なチェーンクエリ API がありますが、CodeIgniter のクエリビルダーはよりシンプルで配列ベースです。データ検証: Laravel はカスタム検証ルールをサポートする Validator クラスを提供しますが、CodeIgniter には組み込みの検証関数が少なく、カスタム ルールの手動コーディングが必要です。実践例:ユーザー登録例はLarを示しています

初心者にとって、CodeIgniter は学習曲線が緩やかで機能は少ないですが、基本的なニーズはカバーしています。 Laravel は幅広い機能セットを提供しますが、学習曲線はわずかに急になります。パフォーマンスの点では、Laravel と CodeIgniter はどちらも良好なパフォーマンスを示します。 Laravel にはより広範なドキュメントとアクティブなコミュニティ サポートがあり、CodeIgniter はよりシンプルで軽量で、強力なセキュリティ機能を備えています。ブログアプリケーションを構築する実際のケースでは、Laravel の EloquentORM を使用するとデータ操作が簡素化されますが、CodeIgniter ではより手動の構成が必要になります。

大規模プロジェクト用のフレームワークを選択する場合、Laravel と CodeIgniter にはそれぞれ独自の利点があります。 Laravel はエンタープライズレベルのアプリケーション向けに設計されており、モジュール設計、依存関係の注入、強力な機能セットを提供します。 CodeIgniter は、速度と使いやすさを重視した、小規模から中規模のプロジェクトに適した軽量フレームワークです。複雑な要件と多数のユーザーを伴う大規模なプロジェクトには、Laravel のパワーとスケーラビリティがより適しています。単純なプロジェクトやリソースが限られている状況では、CodeIgniter の軽量で迅速な開発機能がより理想的です。

Laravel - アーティザン コマンド - Laravel 5.7 には、新しいコマンドを処理およびテストするための新しい方法が付属しています。これには職人コマンドをテストする新しい機能が含まれており、そのデモについては以下で説明します。

小規模なプロジェクトの場合、Laravel は強力な機能とセキュリティを必要とする大規模なプロジェクトに適しています。 CodeIgniter は、軽量さと使いやすさを必要とする非常に小規模なプロジェクトに適しています。

Laravel の Blade と CodeIgniter の Twig テンプレート エンジンを比較し、プロジェクトのニーズと個人的な好みに基づいて選択してください。Blade は MVC 構文に基づいており、適切なコード編成とテンプレートの継承を促進します。 Twig は、柔軟な構文、強力なフィルター、拡張サポート、セキュリティ サンドボックスを提供するサードパーティ ライブラリです。

Laravel - Artisan Console - Laravel フレームワークは、コマンドラインを介した対話のための 3 つの主要なツール、つまり Artisan、Ticker、REPL を提供します。この章ではArtisanについて詳しく説明します。
