ホームページ >バックエンド開発 >PHPチュートリアル >Laravel 5.0リリース、新バージョンの機能詳細解説、laravel5.0_PHPチュートリアル
翻訳注: 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 では、最初から最後まで新しい PSR-4 自動読み込み標準が採用されています。 :
ディレクトリ構造
以前のバージョンの app/models ディレクトリは完全に削除され、コードをアプリ ディレクトリに直接配置できるようになり、このディレクトリ内のすべてのコードはデフォルトでアプリの名前空間に編成されます。この名前空間は Artisan コマンドを通じて追加できます。 app:変更する名前。
コントローラー、ミドルウェア、リクエスト (Laravel 5.0 で追加された新しいクラス) は、アプリケーションの HTTP トランスポート層に関連するすべてのクラスであるため、app/Http ディレクトリに編成されます。以前とは異なり、すべてのルーティング フィルターが 1 つのフィルターに入れられました。ファイルの下では異なります。現在、すべてのミドルウェア (前のルート フィルターと同様) は独自のクラス ファイルに保存されています。
新しいバージョンでは、以前の 4.x バージョンの app/start ファイルを置き換える app/Providers ディレクトリが追加され、これらのサービス プロバイダーは、エラー処理、ログ記録、ルート読み込みなど、アプリケーションのさまざまな起動方法を提供します。もちろん、追加のサービスプロバイダーを作成することもできます。アプリケーションの言語ファイルとビューはリソース ディレクトリに移動されました。
契約
Laravel のすべての主要コンポーネントは、illuminate/contracts リポジトリに保存されているインターフェイスを実装しています。このリポジトリには追加の依存関係はなく、このような便利な一元的なインターフェイスのセットを使用して、Laravel ファサードの選択と変更を簡単に設定できます。デカップリングと依存関係の注入契約の詳細については、その完全なドキュメントをご覧ください。
ルートキャッシュ
ルートミドルウェア
4.0 スタイルのルーティング「フィルター」に基づいて、新しいバージョン 5.0 では、Laravel 独自の「認証」と「フィルター」がミドルウェアに変換され、単一のインターフェースですべてのタイプのフィルターを提供します。リクエストを簡単に確認して拒否します。ミドルウェアの詳細については、その完全なドキュメントをご覧ください。
コントローラーメソッドインジェクション
既存のコンストラクターの注入に加えて、新しいバージョンでは、コントローラー メソッドの依存関係に制約を入力することもできます。ルートに他のパラメーターが含まれている場合でも、IoC コンテナーは自動的に依存関係を注入します。新しいバージョンでは、イベントを文字列ではなくオブジェクトとして定義できます。以下の例を参照してください。
コードをコピーします
イベント::火災(新しいポッドキャストが購入されました($podcast));
もちろん、イベント ハンドラーが受け取るのはデータ リストではなく、イベント オブジェクトです:
コマンド/キュー
バージョン 4.0 でサポートされているタスク キューに基づいて、5.0 ではタスク キューを単純なコマンド オブジェクトとして定義することができます。これらのコマンドは app/Commands ディレクトリに保存されます。
簡単なコマンドの例を示します。
$this->dispatch(new PurchasePodcastCommand($user, $podcast));
もちろん、コマンドはタスク キュー (非同期実行) だけでなく、同期タスクにも使用できます。実際、アプリケーションで実行する必要がある複雑なタスクをコマンドにカプセル化することは良い選択です。情報を参照すると、コマンド ブリッジの詳細なドキュメントを表示できます。
データベースキュー
Laravel の新しいバージョンにはデータベース キュー ドライバーが含まれており、追加のパッケージをインストールする必要なく、シンプルなローカル キュー ドライバーを提供します (注釈: たとえば、トランザクションをサポートしていないデータベースがトランザクションのようなデータ操作を実行できるようにします)。
Laravelのスケジュールされたタスク
これまで、開発者はコンソール タスクを定期的に実行するために Cron タスクに依存する必要があり、スケジュールされたタスクが Web サイトのソース コードに含まれておらず、SSH 経由でサーバーにログインする必要があったため、非常に不便でした。 Cron タスクを追加するには、Laravel のスケジュールされたタスクの新しいバージョンを使用すると、開発者は Laravel フレームワーク内でスケジュールされた実行コマンドを定義できるようになり、サーバー上で合計の Cron タスクを定義するだけで済みます。例:
php tinker コマンドは、新しいバージョンでは Justin Heleman によって開発された Psysh を使用します。Laravel 4.0 の Boris が気に入った場合は、間違いなく Psysh を気に入るはずです。Psysh は Windows と完全に対応しています。前と同じ:
Laravelエリクサー Jeffrey Way が提供する Laravel Elixir は、リソース ファイルをマージしてコンパイルするための簡潔でわかりやすいインターフェイスを提供します。これまで Grunt や Gulp の設定に圧倒されていたとしても、Elixir を使用すれば簡単に Gulp を使用してコンパイルできるようになります。 Less、Sass、CoffeeScript ファイルのテストも実行できます。
Elixir について詳しくは、完全なドキュメントをご覧ください。
Laravel 社交家Laravel Socialite は、Laravel 5.0 以降のオプションのパッケージとのみ互換性があります。現在、Socialite は Facebook、Twitter、Google、Github をサポートしています。
コードをコピーします
Laravel の新しいバージョンには、強力な Flysystem ファイル処理静的ライブラリも含まれています。このライブラリを通じて、開発者は簡単に開始し、まったく同じ API を使用して、たとえばファイルをローカルの Amazon S3 または Rackspace ファイル ストレージに実装できます。 Amazon S3、これと同じくらい簡単です:
コードをコピーします
Laravel 5.0 では、IlluminateFoundationHttpFormRequest クラスから拡張された新しいフォーム リクエストが導入されています。これらのリクエスト オブジェクトをコントローラー メソッド インジェクションと組み合わせて、ユーザー入力を検証する新しいメソッドを提供します。 以下に、FormRequest の簡単な例を示します。
コードをコピーします
コードは次のとおりです:
コードをコピーします
コードは次のとおりです:
FormRequest の検証の詳細については、ドキュメントを確認してください。
真新しい発電機
新しいデフォルトのアプリケーション構造の生成を容易にするために、新しい Artisan 生成コマンドがフレームワークに追加されました。PHP の Artisan リストを通じて詳細なコマンドを表示できます。
構成キャッシュ
config:cache コマンドを使用すると、すべての設定項目をキャッシュ ファイルに書き込むことができます。
Symfony VarDumper
デバッグ用の変数情報を出力するための補助メソッド dd が新しいバージョンでアップグレードされ、強力な Symfony VarDumper を使用して、色の強調表示と配列の折りたたみ機能を使用してデバッグ情報を出力できます。http://www.bkjia.com/PHPjc/955981.html