Xzxzyzyz.com
[Laravel] 7.23.0がリリースされました
#Laravel

[Laravel] 7.23.0がリリースされました

laravel/frameworkのv7.23.0がリリースされました。追加された機能について確認します。 BladeのSlotディレクティブに動的な変数が渡せるようになりました (#33724) 属性値の先頭にをつける事で変数を渡せるようになりました。 通知時にメールを送信する場合にテキストメールを同時に送信できるようになりました (#33725) にオプションが追加されました (#33720, @fba984b) レスポンスの内容をメソッドの引数に渡したファイルに書き込みます。 クエリビルダにwhereBetweenColumnsに対応したメソッドが追加されました (#33728) 以下のメソッドが追加されました。 whereBetweenColumns orWhereBetweenColumns whereNotBetweenColumns orWhereNotBetweenColumns <br> 詳しい変更については以下を確認してください。 Release v7.23.0 · laravel/framework · GitHub

続きを読む
[Laravel] 7.21.1がリリースされました
#Laravel

[Laravel] 7.21.1がリリースされました

laravel/frameworkのv7.21.1がリリースされました。追加された機能について確認します。 データベースマイグレーション関連でメソッドが追加されました (#33551) 以前から利用可能であったのエイリアスです。 また、v7.21.0にてメソッドも追加されています。 アプリケーションに、メソッドが追加されました (#33551) <br> 詳しい変更については以下を確認してください。 Release v7.21.1 · laravel/framework · GitHub

続きを読む
[Laravel] 7.19.1がリリースされました
#Laravel

[Laravel] 7.19.1がリリースされました

laravel/frameworkのv7.18.0がリリースされました。追加された機能について確認します。 スケジュールで使用できるパターンが追加されました (#33393) 以下の3つのメソッドが追加されました。 everyTwoHours() everyThreeHours() everyFourHours() everySixHours() それぞれ2時間毎、3時間毎、4時間毎、5時間毎に実行するメドッドです。 APIリソースクラスで明示的に値を追加できるようになりました (#33422 ) と似ていますが、特定の属性値が存在する場合に、その値もしくは指定の値をレスポンスに含むことができるようになりました。 この機能を実現するために、モデルクラスが使うトレイトにメソッドが追加されました。 第2引数には存在する場合の戻り値、第3引数には存在しなかった場合の戻り値の文字列、もしくはコールバックを指定します。 この2つの引数は省略可能です。 イベントが追加されました (#33427) クラスにメソッドが追加されました (#33455) 以下の例はユーザーの認証状態からコンテンツの一部を制限する例です。 <br> 詳しい変更については以下を確認してください。 Release v7.18.0 · laravel/framework · GitHub

続きを読む
[Laravel] 7.19.0がリリースされました
#Laravel

[Laravel] 7.19.0がリリースされました

laravel/frameworkのv7.18.0がリリースされました。追加された機能について確認します。 スケジュールで使用できるパターンが追加されました (#33393) 以下の3つのメソッドが追加されました。 everyTwoHours() everyThreeHours() everyFourHours() everySixHours() それぞれ2時間毎、3時間毎、4時間毎、5時間毎に実行するメドッドです。 APIリソースクラスで明示的に値を追加できるようになりました (#33422 ) と似ていますが、特定の属性値が存在する場合に、その値もしくは指定の値をレスポンスに含むことができるようになりました。 この機能を実現するために、モデルクラスが使うトレイトにメソッドが追加されました。 第2引数には存在する場合の戻り値、第3引数には存在しなかった場合の戻り値の文字列、もしくはコールバックを指定します。 この2つの引数は省略可能です。 イベントが追加されました (#33427) クラスにメソッドが追加されました (#33455) 以下の例はユーザーの認証状態からコンテンツの一部を制限する例です。 <br> 詳しい変更については以下を確認してください。 Release v7.18.0 · laravel/framework · GitHub

続きを読む
[Laravel] 7.18.0がリリースされました
#Laravel

[Laravel] 7.18.0がリリースされました

laravel/frameworkのv7.18.0がリリースされました。追加された機能について確認します。 クラスにメソッドが追加されました (#33315, b718d3a) LaravelのHTTPクライアント(Httpファサード)に独自のミドルウェアが追加できるようになりました。 通信内容の確認、検査等が柔軟に行えるようになりました。 HTTPリクエストをDebugBarで追跡する例: クラスにトレイトが追加されました (#33354) .クラス内の文字列が空では無いことを判定します。 クラスに、、メソッドが追加されました (0abe2db, 07ee3e8) 作成される属性の情報を部分的に取り出せるようになりました。 クラスにメソッドが追加されました (#33356, b718d3a) CollectionからQueryBuilderへの変換ができるようになりました。 複数のレコードを更新したい場合に利用すると便利です。 クラスにメソッドが追加されました (#33358, 731b94f) 作成される属性の先頭を取り出せるようになりました。 スケジュールで使用できるパターンが追加されました (#33379) 以下の3つのメソッドが追加されました。 everyTwoMinutes() everyThreeMinutes() everyFourMinutes() それぞれ2分毎、3分毎、4分毎に実行するメドッドです。 <br> 詳しい変更については以下を確認してください。 Release v7.18.0 · laravel/framework · GitHub

続きを読む
[Laravel] 7.6.0がリリースされました
#Laravel

[Laravel] 7.6.0がリリースされました

laravel/frameworkのバージョン7.6.0がリリースされました。追加された機能について確認します。 メソッドが追加されました (#32262) メソッドと似ていますが、条件に一致した時点の一つ前までの新しいコレクションが返されます。 また。引数にはコールバックを渡すこともできます。 メソッドが追加されました (#32289, #32300) .クラス内の文字列が空 () なことを判定します。 メソッドが追加されました (#32293) .クラス内の文字列が空では無いことを判定します。 クラスに、メソッドが追加されました (#32288) クラスで特定のミドルウェアをスキップできるようになりました (#32347, @412261c) ルーティング時に実行しないミドルウェアを登録できます。 メソッドが追加されました (#32341) レスポンスにオブジェクト形式でアクセス可能になります。 Bladeコンポーネントにエイリアス名を指定可能になりました (#32346) メソッドが追加されました (#32324) コレクション全体に特定の属性を追加することができます。 ピボットテーブルに対してが指定可能なメソッドが追加されました (#32364) 下記メソッドで指定可能です。 wherePivotBetween orWherePivotBetween wherePivotNotBetween orWherePivotNotBetween キューのリスナーにメソッドが追加されました (#32370) retryAfterはプロパティレベルの宣言しか行っていませんでしたが、メソッドレベルのサポートが追加されました。 メソッドで指定する場合は下記のように行います。 新しい形式のComposer installed.jsonがサポートされました (#32310) データベースカラムの型変更にが追加されました (#32316) PostgreSQLでbytea型がサポートされました (#32319) <br> 詳しい変更については以下を確認してください。 Release v7.6.0 · laravel/framework · GitHub

続きを読む
[Laravel] 7.2.0がリリースされました
#Laravel

[Laravel] 7.2.0がリリースされました

laravel/frameworkのバージョン7.2.0がリリースされました。追加された機能について確認します。 コマンドのテスト方法にメソッドが追加されました (#31965) このメソッドは確認メッセージの答えがかかを確認します。 SMTPメールにタイムアウト時間を設定できるようになりました (#31973) HTTPクラスにクエリストリングパラメーターがサポートされました (#31996) GETメソッドを利用する際にはオプションの引数の値でクエリストリングが上書きされますが、これはの仕様なので混乱しないようにと注意書きがあります。 <br> 詳しい変更については以下を確認してください。 Release v7.2.0 · laravel/framework · GitHub

続きを読む
[Laravel] 7.0がリリースされました
#Laravel

[Laravel] 7.0がリリースされました

Laravelのバージョン7.0がリリースされました。追加された機能について確認します。 Version 7 Laravelのv6.0の時点でアナウンスされた通り、バージョニングの方法が変更され、6ヶ月ごとに行われるメジャーリリースが行われました。 Bug Fixesは2020年09月03日、Security Fixesは2021年03月03日までサポートされます。 現在のLTSバージョンであるv6.0は、Bug Fixesは2021年09月03日、Security Fixesは2022年09月03日までサポートされます。 でのPHPのバージョンが以上に変更されています。 Releases リリースノートでは以下のような追加機能が発表されています。 Laravel Airlockの導入 ルーティング速度の改善 カスタムEloquentキャスト Bladeコンポーネントクラスの追加 新しい文字列操作クラスの追加 HTTPクライアントの追加 CORSのサポート ルートモデルバインディングの改善 Stubのカスタマイズのサポート データベースキューの改善 メール送信時のマルチドライバ データベースクエリ発行時のキャスト設定 Artisanコマンドの追加 各項目についての詳細を確認します。 Laravel Airlock は、SPA(単一ページアプリケーション)、モバイルアプリケーション、およびシンプルなトークンベースのAPI向けのフェザーウェイト認証システムを提供します。 Airlockを使用すると、アプリケーションの各ユーザーがアカウントに対して複数のAPIトークンを生成できます。 これらのトークンには、トークンが実行できるアクションを指定する能力/スコープが付与することが可能です。 LaravelにはOAuth2に対応したがありましたが、これとの共存も可能です。 Laravelのエコシステムである、、などのフロント部分はVue.js等を利用したAPIベースの実装がされています。 このようにバックエンドにを利用し、フロントエンドは別で用意する場合などには大変便利な機能を提供します。 詳しい利用方法についてはこちらをご覧ください。 Custom Eloquent Casts モデルクラスでは、値の出力時には用意されたフォーマットにキャストすることが可能です。 インターフェイスを実装するクラスを定義することで、オリジナルのキャストが行えるようになりました。 実装はとのみのシンプルな実装です。 メソッドはデータベースからの生の値をキャストする際に呼び出されます。 メソッドは与えられた値をデータベースに保存する際に呼び出されます。 Laravelに組み込まれているタイプへのキャストは以下のような実装になっています。 カスタムキャストタイプを定義したら、クラス名を使用してモデルにアタッチできます。 詳しい利用方法についてはこちらをご覧ください。 Blade Component Tags & Improvements コンポーネントは、受け入れるデータを指定する関連クラスを持つことができます。 コンポーネントクラスで定義されているすべてのパブリックプロパティとメソッドは、コンポーネントビューで自動的に使用可能になります。 コンポーネントで指定された追加のHTML属性は、自動的に含まれる$ attribute変数を使用して管理できます。 この例では、コンポーネントが次のように定義されていると仮定します。 そして、コンポーネントのBladeテンプレートが次のように定義されていると仮定します。 コンポーネントは、コンポーネントのタグを使用して別のブレードビューでレンダリングできます。 詳しい利用方法についてはこちらをご覧ください。 また、Laracastでも使用法の動画が公開されています。 What's New in Laravel 7: Supercharged Blade Components HTTP Client Laravelは、Guzzle, PHP HTTP clientを基盤として、メソッドの追加を行うことで最小限のAPIを提供するようになりました。 これにより、他のWebアプリケーションと通信するために発信HTTPリクエストをすばやく行うことができます。 Guzzleに対するLaravelのラッパーは、開発者がより効率的に作業ができることに焦点が当てられています。 たとえば、クライアントは簡単にPOSTを実行し、JSONデータとやり取りします。 さらに、HTTPクライアントは、素晴らしいテスト機能を提供します。 詳しい利用方法についてはこちらをご覧ください。 Fluent String Operations Laravelの既存のクラスはとても便利な機能を提供してくれています。 このクラスは、に付け加えて有用な文字列操作関数を提供します。 Laravel 7は、これらの機能の上に構築された、よりオブジェクト指向で流な文字列操作ライブラリを提供します。 メソッドを使用して、オブジェクトを作成できます。 その後、さまざまなメソッドをオブジェクトにチェーンして、文字列を操作できます。 詳しい利用方法についてはこちらをご覧ください。 また、Laracastでも使用法の動画が公開されています。 What's New in Laravel 7: Fluent String Manipulation Route Model Binding Improvements Key Customization id以外の列を使用してEloquentモデルを解決したい場合があります。 そのために、Laravel 7では、ルートパラメーター定義で列を指定できます。 Automatic Scoping 1つのルート定義で複数のEloquentモデルを暗黙的にバインドする場合、2番目のEloquentモデルのスコープを設定して、最初のEloquentモデルの子にする必要がある場合があります。 たとえば、特定のユーザーのでブログ投稿を取得するこの状況を考えてみましょう。 ネストされたルートパラメーターとしてカスタムキー付きの暗黙的なバインディングを使用する場合、Laravel 7は自動的にクエリをスコープし、親子関係を推測して、親によってネストされたモデルを取得します。 この場合、UserモデルにはPostという名前のリレーションがあり、これを使用してPostモデルを取得することができます。 詳しい利用方法についてはこちらをご覧ください。 Multiple Mail Drivers Laravel 7では、アプリケーションに対して複数のメールドライバが設定できるようになりました。 メール設定ファイル内で構成された各ドライバには、独自のオプションと独自のトランスポートがあり、アプリケーションで特定の電子メールメッセージを送信するために異なる電子メールサービスを使用できます。 たとえば、アプリケーションでPostmarkを使用してトランザクションメールを送信し、Amazon SESを使用してバルクメールを送信する場合があります。 デフォルトでは、Laravelはメール設定ファイルでデフォルトのメーラーとして設定されたドライバを使用します。 ただし、メソッドを使用して、特定のドライバを使用してメッセージを送信できます。 Route Caching Speed Improvements Laravel 7には、のArtisanコマンドを使用してキャッシュされたコンパイル済みのキャッシュされたルートを一致させる新しい方法が含まれています。 大規模なアプリケーション(たとえば、800以上のルートを持つアプリケーション)では、これらの改善により、単純な「Hello World」ベンチマークでの1秒あたりの要求速度が2倍になります。アプリケーションを変更する必要はありません。 CORS Support Laravel 7には、Barry vd. Heuvelによって作成されたLaravel CORSパッケージを統合することにより、クロスオリジンリソースシェアリング(CORS)OPTIONSリクエストレスポンスを構成するためのファーストパーティサポートが含まれています。 新しいcorsの設定ファイルは、デフォルトのLaravelアプリケーションに含まれています。 詳しい利用方法についてはこちらをご覧ください。 Query Time Casts テーブルから生の値を選択するときなど、クエリの実行中にキャストを適用する必要がある場合があります。 たとえば、次のクエリを検討してください。 このクエリの結果のは文字列になります。 クエリの実行時に、この属性に日付キャストを適用できれば便利です。 これを達成するために、Laravel 7が提供するメソッドを使用できます。 MySQL 8+ Database Queue Improvements Laravelの以前のリリースでは、デッドロックのために、データベースキューは本番環境での使用に十分な堅牢性があるとは見なされていませんでした。 ただし、Laravel 7では、MySQL 8+をデータベースバックアップキューとして使用するアプリケーションに改善が加えられています。 句およびその他のSQL拡張機能を使用することにより、データベースドライバーをより安全に使用できるようになりました。 Artisan test Command コマンドに加えて、Artisanのコマンドを使用してテストを実行できます。 Artisanテストランナーは、美しいコンソールUXと、現在実行中のテストに関する詳細情報を提供します。 さらに、ランナーは最初のテストの失敗で自動的に停止します。 コマンドに渡すことができる引数は、Artisanのコマンドにも渡すことができます。 Markdown Mail Template Improvements デフォルトのMarkdownメールテンプレートは、Tailwind CSSカラーパレットに基づいた、より新しくモダンなデザインが導入されました。 もちろん、このテンプレートはアプリケーションのニーズに応じて公開およびカスタマイズできます。 詳しい利用方法についてはこちらをご覧ください。 Stub Customization Artisanコンソールのmakeコマンドは、コントローラー、ジョブ、マイグレーション、テストなどのさまざまなクラスを作成するために使用されます。 これらのクラスは、入力に基づいた値が入力されたファイルを使用して生成されます。 ただし、Artisanによって生成されたファイルに小さな変更を加えたい場合があります。 これを実現するために、Laravel 7は、カスタマイズのために最も一般的なスタブを公開するコマンドを提供します。 公開されたは、アプリケーションのルートにあるディレクトリ内に配置されます。 これらのスタブに加えた変更は、コマンドを使用して対応するクラスを生成するときに反映されます。 Queue maxExceptions Configuration ジョブが何度もリトライされるように指定したい場合もありますが、指定された数の例外によって再試行がトリガーされると失敗するはずです。 Laravel 7では、ジョブクラスでプロパティを定義できます。 この例では、アプリケーションがRedisロックを取得できず、最大25回再試行され続ける場合、ジョブは10秒間解放されます。 ただし、3つの未処理の例外がジョブによってスローされると、ジョブは失敗します。 <br> 詳しい変更については以下を確認してください。 Release Notes - Laravel - The PHP Framework For Web Artisans

続きを読む
[Laravel] 6.16.0がリリースされました
#Laravel

[Laravel] 6.16.0がリリースされました

laravel/frameworkのバージョン6.16.0がリリースされました。追加された機能について確認します。 のv7がサポートされました(#31484) メソッドが追加されました (#31498) SQLiteでJsonデータの更新が可能になりました (#31492) <br> 詳しい変更については以下を確認してください。 Release v6.16.0 · laravel/framework · GitHub

続きを読む
[Laravel] 6.15.0がリリースされました
#Laravel

[Laravel] 6.15.0がリリースされました

laravel/frameworkのバージョン6.15.0がリリースされました。追加された機能について確認します。 イベントが追加されました (#31357, @7ddac28) このイベントは認証プロバイダーがユーザーを取得し、検証された後にログインイベント発火前に発火されます。 これにより認証が成功した後で、サードパーティーのパッケージが認証情報に介入することができるようになります。 また、ログインの際に外部API接続のような複雑なロジックがある場合でも、このイベントをリッスンしてフィルターを作成できます。 クラスでマクロが利用できるようになりました (#31365) クラスでマクロが利用できるようになりました (#31354) クラスにメソッドが追加されました (#31418) を使ったジョブのディスパッチを検証できるようになりました。 メソッドが追加されました (#31420) カスタムしたエラーページを表示する場合に、を変更せずに、をオーバーライドすることでエラー時に表示するViewを指定できるようになりました。 Artisanコマンドでテーブルの出力が可能になりました (#31426) コンソールへの出力にテーブルが使えるようになりました。 <br> 詳しい変更については以下を確認してください。 Release v6.15.0 · laravel/framework · GitHub

続きを読む