Laravel 5.2.23 新機能プレビュー
この記事の公開時点で、Laravel には Github に 911 人の寄稿者がおり、そのうちの何人かは毎日フレームワークに更新を追加するのに協力しています。 。以下は、Laravel 5.2.23に追加される新機能のいくつかの概要です。
1. in_array() 検証ルール
最近、私はプロジェクト内の多くのコードをほんの数行のコードに置き換えました。キーの値が別の関連キーに含まれているかどうかを確認するのに役立つ新しいルールが 5.2.23 に追加されます。
Validator::make( [ 'devices' => [['user_id' => 1], ['user_id' => 2]], 'users' => [['id' => 1, ['id' => 2]]] ], ['devices.*.user_id' => 'in_array:users.*.id']);
このコードは、user_id の値がすべて users にあることを確認します。
2. Arr::first() と Arr::last() はオプションのコールバック関数を提供します
以前のバージョンでは、コールバック関数は 2 番目のパラメーターとして必要でしたが、次のようになります。 5.2.23 のオプションのパラメータ。
$array = [100, 200, 300];// (NEW) This will return 100Arr::first($array); /** same for **/ array_first($array);// (NEW) This will return 300Arr::last($array); /** same for **/ array_last($array);// (You still can) do this and return 200Arr::first($array, function ($key, $value) { return $value >= 150;});
3. 複数のミドルウェアを一度に指定
コントローラーにミドルウェアを追加するときに、1 つのステートメントで複数のミドルウェアを登録できるようになりました。
$this->middleware(['auth', 'subscribed'], ['only' => ['getCandy']]);
4. 新しいコマンド @php、@endphp、@unset が Blade に追加されました
@php コマンドを使用すると、次のような PHP ステートメントを記述できます。 >
@php($count = 1)@php(++ $count)
@php $now = new DateTime(); $environment = isset($env) ? $env : "testing";@enphp
5. Blade コア命令を書き換える機能
@unset($count)
5.2 より前ではできませんでした。 .23 Bladeを拡張してコア命令を書き換えると、任意のコア命令を書き換えられるようになりました。
6. Blade ディレクティブのコンパイルを回避する
Blade ディレクティブの前に @ 記号を追加して、ディレクティブのコンパイルを回避できるようになりました。
7. SparkPost の新しいメール ドライバー
// output: <?php continue; ?>@continue// output: @continue@@continue
8. 新しいスケジュール コマンド monthOn()
9. 新しい app()-> ) メソッド
$schedule->call(function () { DB::table('shopping_list')->delete();})->monthlyOn(4, '12:00');
10. クエリ ビルダーを使用して MySQL 5.7 をクエリし、よりスムーズに JSON フィールドを生成します。
// Instead of thisif (app()->getLocale() == 'en')// You can do thatif (app()->isLocale('en'))
MySQL 5.7 のリリース後、Laravel に新しい JSON 型フィールドが導入されました。 5.2.23 では、以前と同じくらい迅速に Json フィールドをクエリできます。
users テーブルに次の値を持つ JSON 型名列があるとします。
次の構文を使用して値をクエリできます:
{"en":"name","ar":"nom"}
11. テスト ヘルパー メソッド seeElement() および dontSeeElement()
User::where('name->en', 'name')->get();// You may dive deep in the JSON string using the `->` operator.User::where('contacts->phone->home', 1234);
次の要素があるとします:
次のテスト メソッドを使用できます:
<image width="100" height="50">
12. 隠し特典 #1
$this->seeElement('image', ['width' => 100, 'height' => 50]);$this->dontSeeElement('image', ['class' => 'video']);
これはすでにできることをご存知ですか?
13. 隠れたメリット #2
User::whereNameAndEmail('jon', 'jon@theWall.com')->first();User::whereNameAndEmailOrPhone('jon', 'jon@theWall.com', '123321')->first();DB::table('users')->whereEmailOrUsername('mail@mail.com', 'themsaid')->first();
翻訳元: スペックスのブログからの転載元を明記してください。
// Instead of this:if(!$item){ abort(404);}// You can do that:abort_unless($item);// You may also have something like this:abort_if($item->is_hidden);

ホット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は、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。
