Laravel8の8つの強力な新しいWeb開発機能

Laravel8の8つの強力な新しいWeb開発機能

Laravelは最も人気のあるPHPフレームワークであり、120万を超えるWebサイトが構築されています。 2011年6月のリリース以来、Laravelは多くのWeb開発者の注目を集めており、最も使用されているPHPフレームワークとしての地位を確立しています。





Laravelは、迅速な開発環境、セキュリティ、優れた開発者ガイドを提供します。 Laravelは、作成者のTaylor Otwellによって作成および保守されており、ソフトウェアの改善を続けています。これはセマンティックバージョニングスキームに従い、現在バージョン8.xです。





Laravel8で注目すべき8つの新機能は次のとおりです。





1. Laravel Jetstream

これは、の新しいアプリケーションスキャフォールディング機能です。 Laravel 。セッション追跡、ログイン、登録、電子メール検証、2要素認証、オプションのチーム管理などのすぐに使用できる機能が付属しています。

Jetstreamは、LivewireとInertiaの2つのスキャフォールディングオプションの選択肢を提供します。



Livewireは、Vue.jsなどのJavaScriptフレームワークの使用を回避する機能を提供するレスポンシブで動的なライブラリです。デフォルトのブレードテンプレート言語を使用します。 Livewireは、Bladeを離れるかVue.jsを使用するかを選択する柔軟性も提供します。

Inertiaは、テンプレート言語としてVue.jsを使用します。





続きを読む:Vue.jsとは何ですか?

クライアント側のルーティングを必要とせずに、Vue.jsのフルパワーを提供します。 Vueがお好みのテンプレート言語である場合は、慣性スタックが適しています。





2.移行の押しつぶし

アプリケーションを開発すると、移行が増える可能性があります。乱雑さを避けるために、それらを単一のSQLファイルに押しつぶすことができます。このオプションは、MySQLまたはPostgreSQLユーザーが使用できます。

Laravelは、コマンドが実行されるとスキーマファイルを作成します schema:dump 実行されます。データベースを移行しようとすると、Laravelは最初にスキーマに関連付けられたSQLファイルを移行します。その後、スキーマの一部ではない移行がある場合は、それらが実行されます。

3.テールウィンドCSS

Laravelは、デフォルトのページ付けツールとしてTailwindCSSフレームワークを使用するようになりました。 Tailwindは、使い捨てのCSSクラスを提供するCSSユーティリティファーストのライブラリです。スタイリング情報を分散させるのではなく、1か所にまとめることができるという利点があります。事前定義されたクラスをHTMLドキュメントに直接適用できます。

Tailwindは、レスポンシブデザインを構築する機能も提供します。 Bootstrapと同様のモバイルファーストシステムを提供します。これは、接頭辞なしのユーティリティがすべての画面サイズで応答し、接頭辞付きのユーティリティが特定のポイントで有効になることを意味します。

Tailwindは、すべてを最初のビルド時にレンダリングするのではなく、スタイルをオンデマンドで生成できるようにするジャストインタイムモードも備えています。これにより、通常のCSSを使用するよりも高速になります。これが提供するもう1つの利点は、未使用のプロダクションスタイルを削除する必要がないため、複数の環境でコードを使用できることです。

LaravelJetstreamがTailwindを使用して構築されたことにも注目してください。

4.ジョブのバッチ処理

この機能を使用して、特定の時間にジョブのバッチを実行し、実行が完了したときに特定のアクションを実行できます。 NS バスのファサード ジョブをディスパッチできるバッチメソッドを提供します。

これは、次のような他の完了コールバックと並行して実行できます。 キャッチそれからついに ジョブに機能を追加します。

use AppJobsProcessPodcast;
use AppPodcast;
use IlluminateBusBatch;
use IlluminateSupportFacadesBus;
use Throwable;
$batch = Bus::batch([
new ProcessPodcast(Podcast::find(1)),
new ProcessPodcast(Podcast::find(2)),
new ProcessPodcast(Podcast::find(3)),
new ProcessPodcast(Podcast::find(4)),
new ProcessPodcast(Podcast::find(5)),
])->then(function (Batch $batch) {
// All jobs completed successfully...
})->catch(function (Batch $batch, Throwable $e) {
// First batch job failure detected...
})->finally(function (Batch $batch) {
// The batch has finished executing...
})->dispatch();
return $batch->id;

開始するには、完了率などのジョブメタデータを含む移行テーブルを作成する必要があります。コマンドを使用する php職人キュー:バッチテーブル これをする。その後 php職人の移行 それらを移行します。これで、バッチ可能なジョブを定義し、準備ができたらディスパッチできます。

5.モデルファクトリクラス

まず、モデルファクトリについて説明します。これらは、データベースにテストデータをシードするために使用されます。この偽のデータは、実際のユーザーデータを挿入する前のテスト目的で重要です。

Laravel 8では、以前のEloquentモデルクラスがクラスベースのファクトリに完全に置き換えられました。これにより、メソッドを使用するだけでオブジェクトの状態を管理できるようになりました。これらのメソッドは通常、 州() Laravelベースファクトリクラスで与えられるメソッド。 NS 州() メソッドは、ファクトリに割り当てられた属性の配列を受け取る関数を引数として受け取ります。

6.メンテナンスの改善

以前、Laravelは、メンテナンスモードでアプリケーションにアクセスするために使用できるIPアドレスの許可リストを備えていました。これは削除され、より単純な秘密のソリューションに置き換えられました。を使用してバイパストークンを指定できます 秘密の オプション。

メンテナンスモードでは、アプリケーションのURLにアクセスでき、LaravelはバイパスCookieをブラウザに自動的に渡します。 Cookieが発行されると、通常はメンテナンスモードではなかったようにアプリケーションにアクセスできます。

PHPを使用すると、ユーザーがエラーに直面する可能性があります 職人ダウン 展開中。これを回避するために、Laravelはリクエストが行われるたびに返されるメンテナンスモードビューをレンダリングするオプションを提供します。 downコマンドのrenderオプションを使用して、テンプレートを事前にレンダリングできます。

7.タイムテストヘルパー

Laravelには、現在の時刻を操作できる機能が含まれるようになりました。時間属性をミリ秒、時間、日などとして利用するオプションがあります。

Windows10のブロートウェアを取り除く
public function testTimeCanBeManipulated()
{
// Travel into the future...
$this->travel(5)->milliseconds();
$this->travel(5)->seconds();
$this->travel(5)->minutes();
$this->travel(5)->hours();
$this->travel(5)->days();
$this->travel(5)->weeks();
$this->travel(5)->years();
// Travel into the past...
$this->travel(-5)->hours();
// Travel to an explicit time...
$this->travelTo(now()->subHours(6));
// Return back to the present time...
$this->travelBack();
}

これらのヘルパー関数は、メソッドにわかりやすい名前を付けることで、作業をすっきりと簡単に実行できるようにします。

8.レート制限の改善

レート制限を使用すると、特定のルートまたはルートのグループで受信するトラフィックの量を管理できます。これは、 スロットルミドルウェア 。スロットルミドルウェアは、ルートで使用するレートリミッターの名前を取ります。着信リクエストが指定されたレート制限を超えると、HTTPリクエストコード(429)が返されます。

Laravel 8では、下位互換性を維持しながら、レートリミッターがより柔軟に構築されています。レートリミッターコールバック関数を使用すると、認証されたユーザーまたは着信要求に対して確立された適切なレート制限を動的に構築できます。

Laravelのエキサイティングな時代

Laravelは習得が容易で、わかりやすい例を含む精巧な開発者ガイドを提供します。バグ修正とパッチをほぼ毎週提供し、メジャーリリースを毎年(9月頃)提供します。さらにヘルプが必要な場合、Laravelは専門家の助けを得ることができるLaracastsプラットフォームを提供します。ただし、このプラットフォームは有料のWeb開発レッスンを提供します。

Web開発者にとって、Laravelは必須のスキルです。これはオープンソースであり、無料で使用でき、40,000人を超えるユーザーのコミュニティがあります。これは、追跡する価値のあるテクノロジーです。

共有 共有 つぶやき Eメール 開発者にとって学ぶ価値のある5つのWebフレームワーク

高度なWeb開発の学習に興味がありますか?繰り返しコードを書くことは避けてください---代わりにこれらのWeb開発フレームワークを使用してください。

次を読む
関連トピック
  • プログラミング
  • ウェブ開発
  • PHPプログラミング
著者について ジェローム・デビッドソン(22の記事が公開されました)

ジェロームはMakeUseOfのスタッフライターです。彼はプログラミングとLinuxに関する記事をカバーしています。彼は暗号愛好家でもあり、常に暗号業界を監視しています。

ジェローム・デビッドソンのその他の作品

ニュースレターを購読する

ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。

購読するにはここをクリックしてください