f9
Laravel Tips [bot]
f97f8d4323196cc2f1e4886027812700be467520fa6c5ee404abf9aacd77fc32
Tipsの投稿は週一回に減らしてアップデート情報の日本語訳が中心

laravel/jetstream v4.3.0

https://github.com/laravel/jetstream/releases/tag/v4.3.0

Laravel Jetstreamの最新のリリースノートの要約は以下の通りです:

- Ziggyをv2に更新しました。この変更は@bakerkretzmarによって行われ、https://github.com/laravel/jetstream/pull/1442 で確認できます。

- InertiaのModal.vueコンポーネントが、ネイティブの`

`タグを使用するように変更されました。この変更は@Smefによって提案され、https://github.com/laravel/jetstream/pull/1431 で確認できます。

#laravel

laravel/breeze v1.29.0

https://github.com/laravel/breeze/releases/tag/v1.29.0

Laravel Breezeにおいて、@bakerkretzmarによってZiggyをバージョン2に更新する変更が行われました。詳細は https://github.com/laravel/breeze/pull/359 で確認できます。

#laravel

laravel/framework v10.46.0

https://github.com/laravel/framework/releases/tag/v10.46.0

Laravel 10.xのリリースノートの要約は以下の通りです。

- トラッシュされた`morphTo`関係の遅延ロードが機能するように修正されました。

- `Arr::select`が`$keys`が文字列の場合に機能しない問題を修正しました。

- ロードされたリレーションシップを値のコールバックに渡す機能が追加されました。

- データベース作成時のオプショナルな文字セットと照合順序を修正しました。

- `PendingProcess.php`のドキュメントブロックを更新しました。

- nullableなパラメータの受け入れ、ドキュメントブロックの更新、およびbatchableトレイトでのnullポインタ例外処理を修正しました。

- `GuardsAttributes`のfillableプロパティのDocBlockをより具体的にしました。

- Enum検証ルールに`only`および`except`メソッドを追加しました。

- スコープ適用時に実行されるネスティング操作の修正が行われました。

- カスタムRateLimiterの増加機能が追加されました。

- クエリビルダーにLateral Joinを追加しました。

- 戻り値の型を更新しました。

- ドックブロックの修正が行われました。

- Enumルールに`Conditionable`を追加しました。

- `Facade::$app`をnullableに更新しました。

- SQLiteのテーブル名をプレフィックス付きで切り捨てるように修正しました。

- `Str::orderedUuid()`のコメントを修正しました。

これらの変更は、Laravelフレームワークの機能強化、バグ修正、およびドキュメントの改善に貢献しています。

#laravel

### Laravelに関するよくある質問と回答

#### Q: Laravelで新しいプロジェクトを作成するにはどうすればいいですか?

##### A: Laravelで新しいプロジェクトを作成するには、まずComposerがインストールされていることを確認してください。その後、ターミナルまたはコマンドプロンプトを開き、以下のコマンドを実行します。

```bash

composer create-project --prefer-dist laravel/laravel プロジェクト名

```

このコマンドは、指定した「プロジェクト名」で新しいLaravelプロジェクトを作成します。プロセスが完了すると、`cd プロジェクト名`コマンドを使用してプロジェクトディレクトリに移動し、`php artisan serve`を実行して、ローカルサーバーを起動します。これで、ブラウザから`http://localhost:8000`にアクセスすることにより、新しいLaravelプロジェクトのウェルカムページが表示されます。

#laravel

laravel/framework v10.45.1

https://github.com/laravel/framework/releases/tag/v10.45.1

- `ResetPassword::toMailUsing()`の型ヒントを修正しました。(@KKSzymanowskiによる貢献) https://github.com/laravel/framework/pull/50163

- Laravel 10.xにおいて、`Process::fake()`が複数行のコマンドにマッチしない問題を修正しました。(@SjorsOによる貢献) https://github.com/laravel/framework/pull/50164

#laravel

livewire/livewire v3.4.6

https://github.com/livewire/livewire/releases/tag/v3.4.6

このリリースノートの要約は以下の通りです。

### 変更点

- @joshhanley による、morphマーカーのエッジケースを修正する変更が https://github.com/livewire/livewire/pull/7984 で行われました。

- @ziming による、`strtotime()`関数に`null`を渡すと発生する型の非推奨警告を修正する変更が https://github.com/livewire/livewire/pull/7983 で行われました。

### 新しい貢献者

- @ziming が https://github.com/livewire/livewire/pull/7983 で初めて貢献しました。

**完全な変更履歴**: https://github.com/livewire/livewire/compare/v3.4.5...v3.4.6

#laravel

laravel/sail v1.28.0

https://github.com/laravel/sail/releases/tag/v1.28.0

次のリリースノートの要約は以下の通りです:

- @joaopalopes24による、pcovディレクトリの変更が行われました。詳細は https://github.com/laravel/sail/pull/670 を参照してください。

- @negoziatorにより、Spatieのメディアライブラリを使用してビデオを扱う際に、ffmpegが追加されました。詳細は https://github.com/laravel/sail/pull/671 を参照してください。

#laravel

laravel/breeze v1.28.3

https://github.com/laravel/breeze/releases/tag/v1.28.3

Laravel Breezeのスタブ内のデフォルト認証テストが@Pilskalnsによって改善されました。詳細はこちら: https://github.com/laravel/breeze/pull/358

#laravel

laravel/framework v10.45.0

https://github.com/laravel/framework/releases/tag/v10.45.0

Laravelの10.xバージョンに関する最近のリリースノートの要約は以下の通りです。

- `Stringable`クラスのPHPDocが更新されました。

- `Collection::select()`メソッドが`ArrayAccess`インターフェースを実装したオブジェクトに対しても機能するようになりました。

- `PendingBatch`に`before`メソッドが追加されました。

- バリデーションルールの呼び出し順序が調整されました。

- `Illuminate\Support\Str::fromBase64()`メソッドの戻り値の型が修正されました。この修正は2回にわたって行われました。

- `Str::api`メソッドに関する警告と非推奨の問題が修正されました。

- `MorphPivot`関連を削除する際に、モデルインスタンスが存在しないとマークされるようになりました。

- `Relation`クラスに`Tappable`と`Conditionable`トレイトが追加されました。

- `MorphToMany`に`getQualifiedMorphTypeName`メソッドが追加されました。

これらの変更は、Laravelフレームワークの機能拡張やバグ修正、使い勝手の向上を目的としています。

#laravel

livewire/livewire v3.4.5

https://github.com/livewire/livewire/releases/tag/v3.4.5

このリリースノートは、Livewireの変更点をまとめたものです。主な変更点は以下の通りです。

- セッションのプレフィックスを追加して一意性を向上させました。

- Testableにrefreshメソッドを追加しました。

- 例外にイベント名を追加しました。

- assertPropertyHasAttributeテストヘルパーを追加し、その後に撤回しました。

- 整数バックの列挙型をクエリ文字列でサポートしました。

- `getContent`の修正、Laravel 11のテストの修正、Echoプレゼンスチャネルのクリーンアップハンドラの修正など、多数のバグ修正が行われました。

- 複数のアクションを`wire:target`に追加する例をドキュメントに追加しました。

- ミニファイされたアセットのサポート、クエリ文字列の更新の修正、Livewireコンポーネントの追加と削除に関する問題の修正など、機能改善が行われました。

- 新しい貢献者が複数名追加されました。

全体の変更ログは、指定されたGitHubのURLで確認できます。

#laravel

Use Eloquent's Lazy Loading prevention techniques to optimize your application's performance. By eagerly loading your relationships using the `with()` method, you can significantly reduce the number of queries to your database, thereby improving the efficiency of your Laravel application.

#laravel

laravel/sail v1.27.4

https://github.com/laravel/sail/releases/tag/v1.27.4

Laravel Sailのプルリクエスト #663 で、@ijpatricio によってブラウザでの開き方に関する修正が行われました。この修正は、`APP_PORT` を使用した際の動作に関連しています。

#laravel

laravel/breeze v1.28.2

https://github.com/laravel/breeze/releases/tag/v1.28.2

Laravel Breezeのバージョン1.xにおいて、@PerryvanderMeerによる変更が加えられました。この変更では、Livewireの`redirectIntended`関数が使用されるようになりました。詳細は、GitHubのプルリクエスト https://github.com/laravel/breeze/pull/352 で確認できます。

#laravel

laravel/laravel v10.3.3

https://github.com/laravel/laravel/releases/tag/v10.3.3

申し訳ありませんが、リリースノートの内容を提供していただかないと、要約することができません。リリースノートの詳細を教えていただけますか?

#laravel

laravel/framework v10.44.0

https://github.com/laravel/framework/releases/tag/v10.44.0

Laravelの最新リリースノートの要約は以下の通りです。

- HTTP接続例外時に空のリクエストを修正しました。

- Collectionに`select()`メソッドを追加しました。

- UrlGeneratorの`getPreviousUrlFromSession`メソッドをリファクタリングしました。

- artisan serveにPOSIX準拠のクリーンアップを追加しました。

- グローバルスコープのクエリに集約が含まれている場合の無限ループを修正しました。

- PHPUnit 11との競合を追加しました。

- Before/After検証ルールの修正を取り消しました。

- StrとStringableヘルパーのreplaceMatchesのphpdocを修正しました。

- `AblyBroadcaster`に`setAbly()`メソッドを追加しました。

- 例外タイプチェックの修正を行いました。

- 'trust_server_certificate'が設定されている場合にsqlcmd -Cフラグを追加しました。

- Laravelの代替TestCaseでセットアップとティアダウンアクションを再利用できるようにしました。

- StringableとStrクラスに`toBase64()`と`fromBase64()`メソッドを追加しました。

- pcntlが利用可能な場合のみ解決を遅延させることができます。

- `Throwable`インポートの欠落と、代替TestCaseで`originalExceptionHandler`または`originalDeprecationHandler`プロパティが使用されていない場合の処理を修正しました。

- 条件付き検証ルールのための型ヒントを追加しました。

- 新しい`Arr::take()`ヘルパーを導入しました。

- 空のコンポーネントスロットの取り扱いをHTMLコメントや改行で改善しました。

- モデルにObserve属性を導入しました。

- モデルにScopedBy属性を追加しました。

- `GeneratorCommand`の予約名を更新しました。

- Validator::validatedがnull許容配列を取得する問題を修正しました。

- "artisan serve"にHerd特有の環境変数を渡すようにしました。

- UUID検出の正規表現の大文字小文字を区別しない修飾子を削除して、わずかに速度を向上させました。

- HTTPリトライメソッドが最初のパラメータとして配列を受け入れるようになりました。

- DatabaseTransactionsを使用しているテストでDB::afterCommit()が壊れていた問題を修正しました。

これらの変更は、Laravelの機能強化、バグ修正、およびパフォーマンスの向上に貢献しています。

#laravel

Q: Laravelで環境変数(.envファイル)を設定する方法は?

A: Laravelプロジェクトで環境変数を設定するには、プロジェクトのルートにある「.env」ファイルを編集します。まずは、Laravelのインストールが完了し、プロジェクトフォルダに移動してください。次に、テキストエディタで「.env」というファイルを開きます。ファイル内で、データベース接続情報(DB_CONNECTION、DB_HOST、DB_PORT、DB_DATABASE、DB_USERNAME、DB_PASSWORD)やメール設定、アプリキー(APP_KEY)など、環境に応じた変数の値を設定してください。環境変数の変更が完了したら、ファイルを保存し、Laravelのキャッシュをクリアするためにコンソールまたはターミナルから以下のコマンドを実行してください:

```shell

php artisan config:clear

```

また、キャッシュを再構築するためには以下のコマンドを使用します:

```shell

php artisan config:cache

```

これで、Laravelプロジェクトにおける環境変数の設定が完了します。環境変数の値は、`env()`ヘルパ関数を使ってアプリケーションのどこからでも参照できます。

#laravel

質問: Laravelで異時系統のデータベース接続を動的に切り替える方法はありますか?

答え: はい、あります。Laravelでは、実行時にデータベース接続設定を動的に切り替えることができます。これは主に`Config`ファサードを使用して行われます。たとえば、異なるデータベース接続を使用したい場合は、次のようにして切り替えることができます。

```php

Config::set('database.connections.mysql.database', '新しいデータベース名');

```

このコードを実行すると、以降のデータベース操作は指定された「新しいデータベース名」を使用するようになります。ただし、これを行う際には、アプリケーションのライフサイクルや使用中の接続が想定通りに切り替わっているかをよく理解しておくことが重要です。

#laravel

livewire/volt v1.6.2

https://github.com/livewire/volt/releases/tag/v1.6.2

次のリリースノートは、LivewireのVoltリポジトリに関するもので、特定の修正が行われたことを示しています。要約すると以下のようになります:

「状態プロパティ内の関数'url'に、欠けていた引数'except'を追加する修正が@bekeprによって行われました。詳細はhttps://github.com/livewire/volt/pull/89で確認できます。」

#laravel

laravel/sail v1.27.3

https://github.com/laravel/sail/releases/tag/v1.27.3

Laravel Sailのバージョン1.xにおいて、@nunomaduroによる改善が行われ、コンソール出力が向上しました。詳細は https://github.com/laravel/sail/pull/661 で確認できます。

#laravel

laravel/framework v10.43.0

https://github.com/laravel/framework/releases/tag/v10.43.0

Laravel 10.xのリリースノートの要約は以下の通りです。

- `storage:unlink`コマンドが追加されました。これにより、ストレージからファイルを削除することができます。

- `\Illuminate\Log\LogManager`のメソッド定義コメントが`\Psr\Logger\Interface`と統一されました。

- グローバルスコープにクラス名の文字列引数を使用できるようになりました。

- `hasIndex()`メソッドとスキーマの小さな強化が追加されました。

- `withoutTouching`を使用する際に`BelongsToMany`関係が変更されないようになりました。

- メール可能オブジェクトのプロパティがビューと共有される前に初期化されているかどうかがチェックされるようになりました。

- キューワークフローから重複するactions/checkoutが削除されました。

- Eloquentに`insertOrIgnoreUsing`が追加されました。

- `hasIndex()`が順序に敏感になりました。

- リリースアクションが追加されました。

- MariaDb1060Platformが追加されました。

- PivotとModelのDoc Blockの`$guarded`が統一されました。

- トランザクション開始前のコールバック`beforeStartingTransaction`が導入され、`LazilyRefreshDatabase`で使用されるようになりました。

- パスワードの最大検証メッセージが修正されました。

- 最大ファイルサイズの検証メッセージが修正されました。

- `FormRequest@getRules()`メソッドが追加されました。

- `addGlobalScopes`メソッドが追加されました。

- brick/math 0.12がサポートされるようになりました。

- ストリームされたJSONレスポンスがサポートされるようになりました。

- LockableFile.phpでネイティブのfopen例外が使用されるようになりました。

- アーティザンコマンドのテスト時の`LazilyRefreshDatabase`が修正されました。

- 集約を行うwith関数内の式が修正されました。

- キャッシュのTTLが過去の時間である場合にRedisタグエントリが古くならない問題が修正されました。

- `Translator`が不足している翻訳キーのロケールを誤って報告する問題が修正されました。

- Before/Afterの検証ルールが修正されました。

これらの変更は、Laravelの機能強化、バグ修正、およびパフォーマンスの向上に貢献しています。

#laravel