PCS開発チーム
Utilize Laravel's Service Container for Contextual Binding
Leverage Laravel's service container to define contextual bindings, allowing different implementations of an interface to be injected based on specific classes or scenarios. This is especially useful when you have multiple implementations of a service and need to resolve the appropriate one depending on where it's being used. To set this up, you can define contextual bindings within a service provider like so:
use App\Contracts\PaymentInterface;
use App\Services\PayPalService;
use App\Services\StripeService;
public function register()
{
$this->app->when(OrderController::class)
->needs(PaymentInterface::class)
->give(PayPalService::class);
$this->app->when(SubscriptionController::class)
->needs(PaymentInterface::class)
->give(StripeService::class);
}
With this configuration, OrderController
will automatically receive an instance of PayPalService
when it requires PaymentInterface
, while SubscriptionController
will get StripeService
. This approach promotes cleaner code, enhances flexibility, and adheres to the Dependency Inversion Principle, making your application easier to maintain and extend.
livewire/livewire v3.5.20
https://github.com/livewire/livewire/releases/tag/v3.5.20
ドキュメントにおいてコールバック引数とリダイレクトメソッドのコンポーネント名を修正し、Laravel 12をサポートするようになりました。
laravel/framework v11.42.1
https://github.com/laravel/framework/releases/tag/v11.42.1
- Taylorの名言「We must ship」を追加
- Relation::noConstraintsのコールバックに型を指定
- [11.x] getQualifiedCreatedAtColumnおよびgetQualifiedUpdatedAtColumnがnullを返さない問題を修正
- [11.x] assertStreamedおよびassertNotStreamedを追加
- [11.x] assertJsonFragmentsアサーションを追加
- [11.x] EloquentコレクションでdoesntContainを追加
- [11.x] クロージャのバッチ処理を許可
laravel/breeze v2.3.4
https://github.com/laravel/breeze/releases/tag/v2.3.4
- bunロックファイルを更新
- [2.x] [ApiStack] node_modulesおよび関連するロックファイルを削除
laravel/framework v11.42.0
https://github.com/laravel/framework/releases/tag/v11.42.0
今回のリリースでは、ドキュメントの明確化やテストの改善、ジェネリクスの追加、クエリビルダーやデータベース機能の強化、バグ修正、Redisクラスターとの統合、PHPStanおよびPHPUnitのバージョン更新、URL生成や文字列操作の改善、中間ウェアやブロードキャストイベントのサポート強化など、Laravelフレームワークに多数の機能追加と修正が行われました。
Tailwind 4はLaravel公式の対応まで待つ
やるべきことは「今すぐTailwind4に更新」ではなく「今後もアップデートしやすくしておくこと」なので公式の使い方に合わせておく。
これはmasterブランチにマージされたのでLaravel12で対応するんだろう。
https://github.com/laravel/laravel/pull/6523
Laravelのルートキャッシュを活用して、アプリケーションのパフォーマンスを向上させましょう。ターミナルでphp artisan route:cache
コマンドを実行することで、ルート定義をキャッシュし、リクエスト処理を高速化できます。
laravel/framework v11.41.1
https://github.com/laravel/framework/releases/tag/v11.41.1
- サイトのダウンなしで秘密鍵の更新を可能にしました。
- 認証ユーザーを解決する際に Auth::userResolver を使用するようにしました。
Support\Fluent
にMacroable
とfill()
を追加しました。pluck()
を最適化し、不要なカラム選択を回避しました。loadTranslationsFrom
関数を簡素化し、明確にしました。- コマンド未検出例外を適切に処理し、資格情報の露出を避けるようにしました。
- Laravel Cloud 用にプールされた Postgres 接続を処理できるようにしました。
livewire/livewire v3.5.19
https://github.com/livewire/livewire/releases/tag/v3.5.19
変更点
- ドキュメント: ファイルアップロードの例で名前付き引数の使用を修正
- Livewireコンポーネント外で
@assets
の使用をサポートを追加 - アクティブな
wire:current
リンクにdata-current
属性を追加 - HTML属性を置き換えるナビゲートサポートを追加
- CIがPHP 8.4のテストも行うようにする
新しい貢献者
- mike-healyが初めて貢献
laravel/breeze v2.3.3
https://github.com/laravel/breeze/releases/tag/v2.3.3
- Loginコンポーネントの
setData
関数の型エラーを修正しました。 - 新規インストール時のPages/Auth/Login.tsxにおけるtscエラーを修正しました。
laravel/laravel v11.6.1
https://github.com/laravel/laravel/releases/tag/v11.6.1
- viteの依存関係を更新
- [11.x]
session.lifetime
の設定を同期 - console.phpから余分なhourly()メソッドを削除
laravel/framework v11.41.0
https://github.com/laravel/framework/releases/tag/v11.41.0
・pintルールの追加
・TestComponentをマクロ可能にする機能の追加
・異なる日付形式使用時のバリデータ返却失敗を修正
・explodeExplicitRuleメソッドをカスタマイズ可能な日付検証に対応するよう修正
・LangファサードとTranslatorクラスにaddPath()メソッドを追加
・失敗イベントを一度に発火するよう改善
・マイグレーション実行時にpgsqlデータベースが存在しない場合に作成
・phpredisのシリアライズ/圧縮が有効な場合の適切なレートリミッター修正
・Stringable Ruleのテストケースを更新
・パスワード確認タイムスタンプの保存にDateファサードを使用
ルートキャッシングを利用してアプリケーションのパフォーマンスを向上させましょう。コマンドラインで php artisan route:cache
を実行することで、ルート設定をキャッシュし、レスポンスを高速化できます。
laravel/framework v11.40.0
https://github.com/laravel/framework/releases/tag/v11.40.0
- ShouldBeUniqueUntilProcessingジョブのロック解除を防止する修正
- Laravel Pintを追加
- モデルのHasCollection型パラメータにselfを追加
- 保留中の属性を追加
schedule:test
コマンドのバックグラウンド実行時の修正- Laravel HTTPクライアントのレスポンスをダンプするヘルパーメソッドを追加
- ResolvesDumpSourceにカーソルエディタのサポートを追加
- 柔軟な日付制約を持つカスタマイズ可能な日付検証ルールを追加
- StyleCIのルールをPintに同期開始
- 新しいPintルールを
/tests
ディレクトリに適用 - Collection::pop()のカウントが0未満の場合の修正
- nesbot/carbonパッケージのCVE-2025-22145をパッチ
- 意図しないシリアライズと圧縮を防止
whereMorphedTo
およびwhereNotMorphedTo
にモデルのコレクションを渡す機能を追加
tailwindとbootstrapは混ぜて使わない
Laravel+LivewireなのにtailwindとCDNで読み込んだbootstrapを同時に使っている。
もう何度も何度も見てきた「Laravelを何も理解してない人」の使い方。
https://one.value-domain.com/