ホームページ >バックエンド開発 >PHPチュートリアル >Laravel 5.0リリース、新バージョンの機能を詳しく解説_PHPチュートリアル
この記事では主に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)
{イベントオブジェクト
新しいバージョンでは、イベントを文字列ではなくオブジェクトとして定義できます。以下の例を参照してください。
コードは次のとおりです:
クラス PodcastWasPurchased {公開 $ポッドキャスト;
イベント::火災(新しいポッドキャストが購入されました($podcast));
もちろん、イベント ハンドラーが受け取るのはデータ リストではなく、イベント オブジェクトです:
コードは次のとおりです:
コマンド/キュー
バージョン 4.0 でサポートされているタスク キューに基づいて、5.0 ではタスク キューを単純なコマンド オブジェクトとして定義することができます。これらのコマンドは app/Commands ディレクトリに保存されます。
簡単なコマンドの例を示します。コードは次のとおりです:
$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 職人いじり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();
}コードは次のとおりです:
フォームリクエスト
Laravel 5.0 では、IlluminateFoundationHttpFormRequest クラスから拡張された新しいフォーム リクエストが導入されています。これらのリクエスト オブジェクトをコントローラー メソッド インジェクションと組み合わせて、ユーザー入力を検証する新しいメソッドを提供します。 以下に、FormRequest の簡単な例を示します。
コードは次のとおりです:
コントローラーは簡単な検証をリクエストします
Laravel 5.0 のコントローラー基本クラスには ValidatesRequests トレイトも含まれており、このトレイトはリクエストを検証するための単純な検証メソッドを提供します。FormRequests がアプリケーションにとって重すぎる場合は、この軽量のバージョンを使用できます。
コードは次のとおりです:
パブリック関数 createPost(Request $request)FormRequest の検証の詳細については、ドキュメントを確認してください。
真新しい発電機
新しいデフォルトのアプリケーション構造の生成を容易にするために、新しい Artisan 生成コマンドがフレームワークに追加されました。PHP の Artisan リストを通じて詳細なコマンドを表示できます。
キャッシュを構成するconfig:cache コマンドを使用すると、すべての設定項目をキャッシュ ファイルに書き込むことができます。
Symfony VarDumper
デバッグ用の変数情報を出力するための補助メソッド dd が新しいバージョンでアップグレードされ、強力な Symfony VarDumper を使用して、色の強調表示と配列の折りたたみ機能を使用してデバッグ情報を出力できます。
コードをコピーします。コードは次のとおりです:
dd([1, 2, 3]);
www.bkjia.com