Laravel 5.0リリース、新バージョンの機能を詳しく解説_PHPチュートリアル
Laravel 5.0リリースの新バージョン機能を詳しく紹介します
この記事では主にLaravel 5.0リリースの新バージョン機能を詳しく紹介します この記事では、ディレクトリ構造、コントラクト、ルーティングキャッシュ、ルーティング中間、コントローラーメソッドインジェクション、認証スキャフォールディングなどの新機能について説明します。 、など、困っている友達は参考にしてください
翻訳注: Laravel 5.0 をずっと楽しみにしていて、以前は今年 1 月にリリースされると言われていましたが、1 月から公式 Web サイトとブログを更新していましたが、まだリリースされていません。更新ニュース。数日前、ついに公式 Web サイトのドキュメントが 5.0 に切り替わったことがわかりました。特にスケジュールされたタスク キューとフォーム リクエストの機能が追加されました。アップデートの手順を読んで、試してみたくなりました。もちろん、Laravel フレームワークが好きなすべての友人がこのバージョンによってもたらされるエキサイティングな変更を感じられることを願って、ようやく時間をかけて公式の新機能説明ドキュメントを翻訳しました。 、Phalconのようなパフォーマンスが必要な場合は、それは間違いなく必要なものではありません。仮想ホストがphp 5.4をサポートしていないためにLaravelを楽しむことができない場合は、仮想ホストを捨ててみてはいかがでしょうか。 ? Alibaba Cloud Tencent Cloud Linode... VPS の選択肢が多すぎません...
Laravel 5.0
Laravel 5.0 では、新しいプロジェクト ディレクトリ構造が導入され、Laravel でのアプリケーションの作成がより容易になりました。バージョン 5.0 の主な新機能は次のとおりです。
ディレクトリ構造以前のバージョンの app/models ディレクトリは完全に削除され、コードをアプリ ディレクトリに直接配置できるようになり、このディレクトリ内のすべてのコードはデフォルトでアプリの名前空間に編成されます。この名前空間は Artisan コマンドを通じて追加できます。 app:変更する名前。
コントローラー、ミドルウェア、リクエスト (Laravel 5.0 で追加された新しいクラス) は、アプリケーションの HTTP トランスポート層に関連するすべてのクラスであるため、app/Http ディレクトリに編成されます。以前とは異なり、すべてのルーティング フィルターが 1 つのフィルターに入れられました。ファイルの下では異なります。現在、すべてのミドルウェア (前のルート フィルターと同様) は独自のクラス ファイルに保存されています。
新しいバージョンでは、以前の 4.x バージョンの app/start ファイルを置き換える app/Providers ディレクトリが追加され、これらのサービス プロバイダーは、エラー処理、ログ記録、ルート読み込みなど、アプリケーションのさまざまな起動方法を提供します。もちろん、追加のサービスプロバイダーを作成することもできます。
アプリケーションの言語ファイルとビューはリソース ディレクトリに移動されました。
契約
Laravel のすべての主要コンポーネントは、illuminate/contracts リポジトリに保存されているインターフェイスを実装しています。このリポジトリには追加の依存関係はなく、このような便利な一元的なインターフェイスのセットを使用して、Laravel ファサードの選択と変更を簡単に設定できます。デカップリングと依存関係の注入
契約の詳細については、その完全なドキュメントをご覧ください。
ルートキャッシュ
アプリケーションがさまざまなコントローラー ルートで構成されている場合は、新しい Artisan コマンド Route:cache を使用すると、ルートの登録速度が大幅に向上します。これは、100 を超えるルートを持つアプリケーションで特に効果的であり、速度を大幅に向上させることができます。アプリケーション全体のルーティング部分。
ルートミドルウェア
4.0 スタイルのルーティング「フィルター」に基づいて、新しいバージョン 5.0 では、Laravel 独自の「認証」と「フィルター」がミドルウェアに変換され、単一のインターフェースですべてのタイプのフィルターを提供します。リクエストを簡単に確認して拒否します。
ミドルウェアの詳細については、その完全なドキュメントをご覧ください。
コントローラーメソッドインジェクション
既存のコンストラクターの注入に加えて、新しいバージョンでは、コントローラー メソッドの依存関係に制約を入力することもできます。ルートに他のパラメーターが含まれている場合でも、IoC コンテナーは自動的に依存関係を注入します。
コードは次のとおりです:
public function createPost(Request $request, PostRepository $posts)
{}
認定足場
ユーザー登録、認証、およびパスワード リセット コントローラーがバージョン 5.0 の Web サイト フレームワークに組み込まれています。コントローラーに加えて、Web サイトの初期フレームワークに保存される単純なビューもあります。また、「users」テーブルの移行ファイルも含まれており、開発者は認証関連のページに auth/login および auth/registrar サービスの Responsible 経由でアクセスできます。ユーザーの作成と認証を処理するため。
イベントオブジェクト
新しいバージョンでは、イベントを文字列ではなくオブジェクトとして定義できます。以下の例を参照してください。
コードは次のとおりです:
クラス PodcastWasPurchased {公開 $ポッドキャスト;
パブリック関数 __construct(Podcast $podcast)
{
$this->ポッドキャスト = $ポッドキャスト;
}
}
このイベントは次のように呼び出すことができます。
イベント::火災(新しいポッドキャストが購入されました($podcast));
もちろん、イベント ハンドラーが受け取るのはデータ リストではなく、イベント オブジェクトです:
コードは次のとおりです:
クラス ReportPodcastPurchase {
パブリック関数ハンドル(PodcastWasPurchased $event)
{
//
}
}
イベントの詳細については、完全なドキュメントをご覧ください。
コマンド/キュー
バージョン 4.0 でサポートされているタスク キューに基づいて、5.0 ではタスク キューを単純なコマンド オブジェクトとして定義することができます。これらのコマンドは app/Commands ディレクトリに保存されます。
簡単なコマンドの例を示します。コードは次のとおりです:
class PurchasePodcast extends Command 実装 SelfHandling, ShouldBeQueued {
SerializesModel を使用します;
保護された $user、$podcast;
/**
* 新しいコマンドインスタンスを作成します
*
* @return void
*/
パブリック関数 __construct(ユーザー $user, ポッドキャスト $podcast)
{
$this->user = $user;
$this->ポッドキャスト = $ポッドキャスト;
}
/**
* コマンドを実行
*
* @return void
*/
パブリック関数ハンドル()
{
// ポッドキャストビデオを購入するロジックを処理します
イベント(新しいポッドキャストが購入されました($this->ユーザー, $this->ポッドキャスト));
}
}
Laravel のベースコントローラーは新しい DispatchesCommands 機能を使用しており、コマンドの実行を簡単に監視できます。
$this->dispatch(new PurchasePodcastCommand($user, $podcast));
もちろん、コマンドはタスク キュー (非同期実行) だけでなく、同期タスクにも使用できます。実際、アプリケーションで実行する必要がある複雑なタスクをコマンドにカプセル化することは良い選択です。情報を参照すると、コマンド ブリッジの詳細なドキュメントを表示できます。
データベースキュー
Laravel の新しいバージョンにはデータベース キュー ドライバーが含まれており、追加のパッケージをインストールする必要なく、シンプルなローカル キュー ドライバーを提供します (注釈: たとえば、トランザクションをサポートしていないデータベースがトランザクションのようなデータ操作を実行できるようにします)。
Laravelのスケジュールされたタスクこれまで、開発者はコンソール タスクを定期的に実行するために Cron タスクに依存する必要があり、スケジュールされたタスクが Web サイトのソース コードに含まれておらず、SSH 経由でサーバーにログインする必要があったため、非常に不便でした。 Cron タスクを追加するには、Laravel のスケジュールされたタスクの新しいバージョンを使用すると、開発者は Laravel フレームワーク内でスケジュールされた実行コマンドを定義できるようになり、サーバー上で合計の Cron タスクを定義するだけで済みます。
例:
コードは次のとおりです:
$schedule->command('artisan:command')->dailyAt('15:00');同様に、スケジュールされたタスクの詳細については、完全なドキュメントを確認してください。
ティンカー/サイシュ
php tinker コマンドは、新しいバージョンでは Justin Heleman によって開発された Psysh を使用します。Laravel 4.0 の Boris が気に入った場合は、間違いなく Psysh を気に入るはずです。Psysh は Windows と完全に対応しています。前と同じ:
コードは次のとおりです:
php 職人いじりDotEnv
Laravel 5.0 では、Vance Lucas によって実装された DotEnv が、以前のバージョンのネストされた構造と混乱を招く環境設定ディレクトリを置き換えます。Laravel 5.0 では、環境設定を管理するための非常に簡単な方法が提供されます。詳細については、完全な構成ドキュメントを参照してください。
Laravelエリクサー
Jeffrey Way が提供する Laravel Elixir は、リソース ファイルをマージしてコンパイルするための簡潔でわかりやすいインターフェイスを提供します。これまで Grunt や Gulp の設定に圧倒されていたとしても、Elixir を使用すれば簡単に Gulp を使用してコンパイルできるようになります。 Less、Sass、CoffeeScript ファイルのテストも実行できます。
Elixir の詳細については、完全なドキュメントをご覧ください。
Laravel 社交家
Laravel Socialite は、完全で使いやすい OAuth ソリューションを提供する Laravel 5.0 以降のオプション パッケージとのみ互換性があります。現在、Socialite は次のようになります。
コードは次のとおりです:
パブリック関数 redirectForAuth()
{return Socialize::with('twitter')->redirect();
}パブリック関数 getUserFromProvider()
{
$user = Socialize::with('twitter')->user();
}
そのため、OAuth 認証フローの作成に多くの時間を費やす必要はなくなり、完全なドキュメントにはこのオプションのパッケージに関するすべての詳細が含まれており、数分で簡単に完了できます。
フライシステムの統合
Laravel の新しいバージョンには、強力な Flysystem ファイル処理静的ライブラリも含まれており、開発者は簡単に開始し、まったく同じ API を使用してローカル、Amazon S3、または Rackspace ファイル ストレージを実装できます。 Amazon S3、これと同じくらい簡単です:
コードは次のとおりです:
Storage::put('file.txt', 'contents');
Laravel Flysystem の統合について詳しくは、完全なドキュメントをご覧ください。
フォームリクエスト
Laravel 5.0 では、IlluminateFoundationHttpFormRequest クラスから拡張された新しいフォーム リクエストが導入されています。これらのリクエスト オブジェクトをコントローラー メソッド インジェクションと組み合わせて、ユーザー入力を検証する新しいメソッドを提供します。 以下に、FormRequest の簡単な例を示します。
コードは次のとおりです:
class RegisterRequest extends FormRequest {
パブリック関数ルール()
{
戻る[
'電子メール' => '必須|電子メール|一意:ユーザー',
'パスワード' => '必須|確認済み|分:8',
];
}
パブリック関数 authorize()
{
true を返します;
}
}
対応する FormRequest 拡張クラスを定義した後、コントローラー メソッドで型ヒントを取得できます:
コードは次のとおりです:
{
var_dump($request->input());
}
Laravel の IoC コンテナがメソッド変数の型を認識すると、FormRequest のインスタンスが自動的に挿入されるため、リクエストは自動的に検証されます。これは、コントローラーが呼び出されたときに入力データが検証されているため、安全に使用できることを意味します。それだけでなく、リクエストが検証できなかった場合、システムは自動的に事前定義されたルートにリダイレクトし、エラー メッセージ (必要に応じてセッションに書き込まれるか、JSON に変換されます) を含めます。 FormRequest の検証の詳細については、ドキュメントを参照してください。
コントローラーは簡単な検証をリクエストします
Laravel 5.0 のコントローラー基本クラスには ValidatesRequests トレイトも含まれており、このトレイトはリクエストを検証するための単純な検証メソッドを提供します。FormRequests がアプリケーションにとって重すぎる場合は、この軽量のバージョンを使用できます。
コードは次のとおりです:
パブリック関数 createPost(Request $request)$this->validate($request, [
'タイトル' => '必須|最大:255',
'本文' => '必須',
]);
}
検証が失敗すると、システムは例外をスローし、対応する HTTP リクエストが自動的にブラウザに送信され、リクエストが AJAX を使用して開始された場合、Larave は自動的に検証を送信します。 JSON 形式のエラー。
FormRequest の検証の詳細については、ドキュメントを確認してください。
真新しい発電機
新しいデフォルトのアプリケーション構造の生成を容易にするために、新しい Artisan 生成コマンドがフレームワークに追加されました。PHP の Artisan リストを通じて詳細なコマンドを表示できます。
キャッシュを構成するconfig:cache コマンドを使用すると、すべての設定項目をキャッシュ ファイルに書き込むことができます。
Symfony VarDumper
デバッグ用の変数情報を出力するための補助メソッド dd が新しいバージョンでアップグレードされ、強力な Symfony VarDumper を使用して、色の強調表示と配列の折りたたみ機能を使用してデバッグ情報を出力できます。
コードをコピーします。コードは次のとおりです:
dd([1, 2, 3]);
www.bkjia.com

ホット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)

ホットトピック











LaravelEloquentモデルの検索:データベースデータを簡単に取得するEloquentormは、データベースを操作するための簡潔で理解しやすい方法を提供します。この記事では、さまざまな雄弁なモデル検索手法を詳細に紹介して、データベースからのデータを効率的に取得するのに役立ちます。 1.すべてのレコードを取得します。 ALL()メソッドを使用して、データベーステーブルですべてのレコードを取得します:useapp \ models \ post; $ post = post :: all();これにより、コレクションが返されます。 Foreach Loopまたはその他の収集方法を使用してデータにアクセスできます。

Laravelは、Webアプリケーションを簡単に構築するためのPHPフレームワークです。次のような強力な機能を提供します。インストール:Laravel CLIを作曲家にグローバルにインストールし、プロジェクトディレクトリにアプリケーションを作成します。ルーティング:ルート/web.phpのURLとハンドラーの関係を定義します。ビュー:リソース/ビューでビューを作成して、アプリケーションのインターフェイスをレンダリングします。データベース統合:MySQLなどのデータベースとのすぐ外側の統合を提供し、移行を使用してテーブルを作成および変更します。モデルとコントローラー:モデルはデータベースエンティティを表し、コントローラーはHTTP要求を処理します。

CraftCMSを使用してWebサイトを開発する場合、特にCSSやJavaScriptファイルを頻繁に更新する場合、リソースファイルのキャッシュ問題が発生することがよくあります。古いバージョンのファイルがブラウザによってキャッシュされ、ユーザーが最新の変更を表示しないようにすることがあります。この問題は、ユーザーエクスペリエンスに影響を与えるだけでなく、開発とデバッグの難しさを高めます。最近、プロジェクトで同様のトラブルに遭遇し、いくつかの調査の後、プラグインWiejeben/Craft-Laravel-Mixが見つかりました。

700万のレコードを効率的に処理し、地理空間技術を使用したインタラクティブマップを作成します。この記事では、LaravelとMySQLを使用して700万を超えるレコードを効率的に処理し、それらをインタラクティブなマップの視覚化に変換する方法について説明します。最初の課題プロジェクトの要件:MySQLデータベースに700万のレコードを使用して貴重な洞察を抽出します。多くの人は最初に言語をプログラミングすることを検討しますが、データベース自体を無視します。ニーズを満たすことができますか?データ移行または構造調整は必要ですか? MySQLはこのような大きなデータ負荷に耐えることができますか?予備分析:キーフィルターとプロパティを特定する必要があります。分析後、ソリューションに関連している属性はわずかであることがわかりました。フィルターの実現可能性を確認し、検索を最適化するためにいくつかの制限を設定しました。都市に基づくマップ検索

Laravelは、ユーザーモデル(Eloquentモデル)の定義、ログインフォームの作成(ブレードテンプレートエンジン)、ログインコントローラーの作成(認証\ログインコントローラーの継承)、ログイン要求の検証(Auth ::試行)の検証など、ユーザーログイン機能を実装するための包括的なAuthフレームワークを提供します。ヘッダー。さらに、AUTHフレームワークは、パスワードのリセット、電子メールの登録と検証などの機能も提供します。詳細については、Laravelのドキュメントを参照してください:https://laravel.com/doc

Laravelはバックエンドロジックでどのように役割を果たしますか?ルーティングシステム、Eloquentorm、認証と承認、イベントとリスナー、パフォーマンスの最適化を通じてバックエンド開発を簡素化および強化します。 1.ルーティングシステムにより、URL構造の定義とリクエスト処理ロジックが可能になります。 2.Eloquentormは、データベースの相互作用を簡素化します。 3.認証および承認システムは、ユーザー管理に便利です。 4.イベントとリスナーは、ゆるく結合したコード構造を実装します。 5.パフォーマンスの最適化により、キャッシュとキューイングを通じてアプリケーションの効率が向上します。

記事の概要:この記事では、Laravelフレームワークを簡単にインストールする方法について読者をガイドするための詳細なステップバイステップの指示を提供します。 Laravelは、Webアプリケーションの開発プロセスを高速化する強力なPHPフレームワークです。このチュートリアルは、システム要件からデータベースの構成とルーティングの設定までのインストールプロセスをカバーしています。これらの手順に従うことにより、読者はLaravelプロジェクトのための強固な基盤を迅速かつ効率的に築くことができます。

Laravelフレームワークには、開発者のさまざまなニーズを満たすためにバージョン番号を簡単に表示するための組み込みの方法があります。この記事では、Composer Command Lineツールの使用、.ENVファイルへのアクセス、PHPコードを介したバージョン情報の取得など、これらの方法について説明します。これらの方法は、Laravelアプリケーションのバージョン化の維持と管理に不可欠です。
