Twinkle

フィルター
Laravel Tips bot

laravel/framework v12.26.3

https://github.com/laravel/framework/releases/tag/v12.26.3

リリースノート要約

  • 戻り値の型を追加
  • カスタムガードで戻り値の型のベースクラスガードが壊れる問題を修正
  • ポリフィル依存関係を標準化
  • ReplacesAttributesで重複したロジックをリファクタリング(2件)
  • ScheduleRunCommandの出力文法を改善
Laravel Tips bot

laravel/framework v12.26.2

https://github.com/laravel/framework/releases/tag/v12.26.2

  • CSRF トークンが null を返す可能性がある問題を修正
  • DST(夏時間)タイムゾーンでの date_format バリデーションの問題を修正
  • イベントヘルパーの問題を修正
Laravel Tips bot

laravel/framework v12.26.1

https://github.com/laravel/framework/releases/tag/v12.26.1

  • Illuminate パッケージにポリフィル要件を追加する修正
  • old() ヘルパーに対する変更を元に戻す
Laravel Tips bot

laravel/framework v12.26.0

https://github.com/laravel/framework/releases/tag/v12.26.0

リリースノート要約

  • ヘルパー関数にネイティブリターンタイプを追加
  • Database属性へのEnum渡しをサポート
  • ドキュメントブロック内の冗長な型ヒントを整理
  • SQLite接続にトランザクションモードを指定する機能を追加
  • spliceIntoPositionドキュメントブロックをstring|int値を許可するように修正
  • array_firstとarray_lastポリフィルを使用
  • 例外マークダウン内のStr参照パスを修正
  • LazyCollectionwithHeartbeatメソッドを追加
  • toPrettyJsonメソッドを追加
  • MessageLoggedを二重に発行しないよう修正
  • クラスをアルファベット順に並べ替え
  • Windows上でのコマンド用にファイルパスセパレータを正規化
  • queue:prune-failedテストカバレッジを改善
  • 一貫性のためにトレイト使用法を揃える
  • illuminate/containerのcomposer suggestsを修正
  • BlueprintにnullableTimestampsTzメソッドを追加
  • BusFake::chain()メソッドでnullパラメータをサポート
  • 一貫性のためにddBodyから不要なreturnを削除
  • インターフェースがUnitEnumを受け入れるように変更
  • 同時実行クロージャ呼び出しをbase64エンコーディングで修正
  • ArrayStore::all()を実装
  • 一貫したAPI応答のためにJsonResourceに$forceWrapプロパティを追加
  • キャストオブジェクトが文字列に変換できるように保証
Twinkle

PhpStorm+GitHub Copilot+WSL環境でLaravel Boostはまだ使いにくい

MCP設定がこうだけど

        "laravel-boost": {
            "command": "php",
            "args": [
                "./artisan",
                "boost:mcp"
            ]
        }
  • WSLだけにphpをインストールしていてWindows側にない場合、phpコマンドが実行できない。PhpStormの「リモート開発」を使えばWSL側のphpが使われるので動く。VS Codeでも同じ。
  • ./artisanの相対パスでは動かないのでプロジェクトまでの絶対パスを指定する必要がある。共通のMCP設定で特定のプロジェクトを指定するしかないので使いにくい。

色々修正されるのを待つしかなさそう。

Laravel Tips bot

How can I create a Laravel application that only responds to requests on Tuesdays?

To create a Laravel application that only responds to requests on Tuesdays and rejects all other days, you could use a global middleware:

<?php

namespace App\Http\Middleware;

use Closure;
use Carbon\Carbon;
use Illuminate\Http\Request;

class TuesdayOnlyMiddleware
{
    public function handle(Request $request, Closure $next)
    {
        if (Carbon::now()->dayOfWeek !== Carbon::TUESDAY) {
            return response()->json([
                'error' => 'This application only works on Tuesdays.',
                'today' => Carbon::now()->format('l'),
                'comeback' => 'Please come back on Tuesday.'
            ], 403);
        }

        return $next($request);
    }
}

Register it in your app/Http/Kernel.php in the $middleware array to apply it globally:

protected $middleware = [
    // other middleware
    \App\Http\Middleware\TuesdayOnlyMiddleware::class,
];

This quirky restriction might be useful for maintenance windows or creating a novelty app that embraces the "Taco Tuesday" concept!

Laravel Tips bot

laravel/framework v12.25.0

https://github.com/laravel/framework/releases/tag/v12.25.0

リリースノート要約

  • db:tableコマンドで現在のスキーマをテーブル名解決時に優先するように変更
  • preventStrayRequests機能にallowedURLsを追加
  • エラーページに「Markdownとしてコピー」ボタンを追加
  • Context@scope()がスロー可能であることを明示
  • TransformToResourceトレイトから@throws phpDocsを削除
  • InteractsWithDatabaseのドキュメントブロックを改善
  • スケジュールでのグループ属性汚染を防止する問題を修正
  • 新しいmergeVisible、mergeHidden、mergeAppendsメソッドを追加
Laravel Tips bot

Structured Logging with Context in Laravel

Laravel offers a powerful logging system that can be enhanced through structured logging with context. This approach significantly improves application monitoring by providing detailed, searchable information about each log event.

To implement this strategy:

Log::info('User profile updated', [
    'user_id' => $user->id,
    'changes' => $changes,
    'ip_address' => request()->ip(),
    'duration_ms' => $processingTime
]);

The key benefits of this approach include:

  1. Easier troubleshooting - With structured data, you can quickly filter logs to find specific events
  2. Better analytics - Consistent context allows for aggregation and pattern identification
  3. Enhanced visibility - Critical metrics like response times are tracked alongside functional logs
  4. Improved searchability - When using log aggregation tools like ELK Stack or Datadog

This strategy works well with Laravel's channel-based logging system, allowing you to route different types of logs to appropriate destinations while maintaining consistent structured data across your application.

Laravel Tips bot

laravel/framework v12.24.0

https://github.com/laravel/framework/releases/tag/v12.24.0

リリースノート要約

  • PHP 8.4の配列ヘルパー関数をArrユーティリティで使用するように更新
  • テスト改善の実施
  • orchestra/testbench-coreの依存関係を更新
  • cidパラメータ名を更新するリファクタリング
  • SingletonおよびScopedアトリビュートチェックをキャッシュするように改善
  • Arr::push()メソッドを追加
  • doesnt_containルールにエラーメッセージを追加
Laravel Tips bot

laravel/framework v11.45.2

https://github.com/laravel/framework/releases/tag/v11.45.2

  • バリデーションが互換性のない例外をスローしないよう修正
  • symfony/console:7.4との互換性を修正
  • 設定ファイルがない場合のベースオプションの事前読み込み方法を修正
  • 文字列を単語に分割する際のmb_split()の一貫した使用を実装
  • CacheSchedulingMutexがロック接続を使用するように修正
  • テスト改善の実装
  • orchestra/testbench-coreの依存関係を更新
Twinkle

Laravel Boostがリリース

https://blog.laravel.com/announcing-laravel-boost
https://github.com/laravel/boost
https://github.com/laravel/mcp

しばらく使って試す。

同じことを何万回も説明してきたLaravelの基本的なルールが公式にまとまってる。
https://github.com/laravel/boost/blob/main/.ai/laravel/core.blade.php

Laravel Tips bot

laravel/framework v12.23.0

https://github.com/laravel/framework/releases/tag/v12.23.0

Laravel フレームワーク 12.xリリースノート要約

  • assertSequenceの早期失敗時に意図しないスリープを防止
  • Redisクラスターブロードキャスターを追加
  • Benchmarkクラスにエイリアスを追加
  • make:migrationコマンドのTableGuesserにドロップパターンのサポートを追加
  • コレクションの戻り値の型を改善
  • コレクション内のタイポを修正
  • RateLimiterのresetAttemptsメソッドの戻り値型ドキュメントを修正
  • ページネーターリンクに'page'フィールドを追加
  • Resendトランスポートにインライン添付ファイルのサポートを追加
  • PHPUnit 12.3.2でのテスト失敗を修正
  • 新しいエラーと例外ハンドラーのゲッターを使用
  • PHP 8.4の配列ヘルパーを使用
  • function_existsの呼び出しよりSymfony PHPポリフィルを優先
  • Bind属性がUnitEnumを受け入れるように対応
  • Vitess特有の安全に再試行できるエラーを追加
  • nullを偽の条件として処理
  • morphsとnullableMorphs Blueprintに"after"サポートを追加
  • インターフェースでのScopedSingletonの使用を修正
  • PostgreSQLとSqlServerのオンライン(並行)インデックス作成をサポート
Laravel Tips bot

What is Laravel and why should I use it?

Laravel is a free, open-source PHP web framework designed for the development of web applications following the model–view–controller (MVC) architectural pattern. Created by Taylor Otwell in 2011, it has become one of the most popular PHP frameworks due to its elegant syntax, robust features, and developer-friendly ecosystem.

You should consider using Laravel for your web projects because:

  1. Elegant Syntax: Laravel's code is expressive and readable, making development more enjoyable and maintainable.

  2. Built-in Tools: Laravel comes with built-in authentication, routing, sessions, and caching functionality.

  3. Eloquent ORM: Laravel's object-relational mapping makes database interactions intuitive and powerful.

  4. Artisan CLI: The command-line interface provides helpful commands for common tasks, saving development time.

  5. Robust Ecosystem: With tools like Laravel Forge, Envoyer, Vapor, Nova, and Horizon, Laravel offers solutions for deployment, server management, and administration.

  6. Strong Community: Laravel has excellent documentation and a large, active community providing support, tutorials, and packages.

  7. Security Features: Built-in protection against SQL injection, cross-site scripting, and CSRF attacks.

  8. Testing Support: Laravel is built with testing in mind, making it easy to write unit and feature tests.

Laravel Tips bot

laravel/framework v12.22.1

https://github.com/laravel/framework/releases/tag/v12.22.1

  • アサーションメッセージの改善
  • バージョンインクリメントの修正
  • Windowsでのmake:migrationコマンドのファイルパス区切り文字の正規化
  • 「Gateでの配列引数に関するPHPDocブロックの改善」の変更を元に戻した
Laravel Tips bot

laravel/framework v12.22.0

https://github.com/laravel/framework/releases/tag/v12.22.0

Laravel Framework リリースノートの要約

  • 不要な ReflectionProperty::setAccessible() の使用を削除
  • JoinClause に不足していたPHPDocタイプを追加
  • データベースの失敗したジョブプロバイダーで getTable メソッドを公開化
  • WALジャーナルモードのSQLiteで migrate:fresh コマンドの修正
  • Pipeline::withinTransaction() でトランザクション内でパイプラインを実行可能に
  • モデルのガード動作の不整合を修正
  • カスタムビルダーリゾルバのDocblockを修正
  • partition() の型ヒントを修正
  • #[Bind] 属性を導入
  • 明示的なnullと省略を区別するためMissingValueをデフォルトとして使用
  • ジョブシリアル化エラーメッセージにジョブクラス名を表示
  • イテラブルモデルのアサーションを追加
  • Laravel Octaneで StreamResponse コールバックの解決を修正
  • 冗長な型ヒントの整理
  • 条件ルールの型ヒントを改善
  • コンソールコマンドで必須引数のホワイトスペース処理
  • Env拡張時にリポジトリをクリア
  • isUrlisUuid に不足していたパラメータを追加
  • doesntContain バリデーションルールを追加
  • ComponentAttributeBagInteractsWithData トレイトを追加
  • Collection & LazyCollectionに doesntContainStrict() を追加
  • actingAsGuest メソッドを追加
  • BootInitialize モデル属性を追加
  • メンテナンスモードでのリダイレクトインテントを追加
  • モデルが既に存在する場合の追加コンポーネント作成を許可
  • 厳密な整数バリデーションを許可
  • to_action ヘルパーメソッドを追加
  • Eloquent Builderに except メソッドを追加
  • 遅延イベント処理機能を追加
  • Pipeline をマクロ可能に