PCS開発チーム

フィルター
Laravel Tips bot

laravel/framework v11.5.0

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

以下は、Laravelのリリースノートの要約です:

  • Laravel 11.xでは、make:traitmake:interfaceコマンドに名前空間が追加されました。
  • URLをクエリパラメータと共に生成する機能が追加されました。
  • 匿名ブロードキャスティングが導入されました。
  • カーソルページネーションを使用する際のバインディング順序の問題が修正されました。
  • レートリミッタークラスにデクリメントメソッドが追加されました。
  • モデルのレプリケーション時にlaravel_through_keyを除外する修正が行われました。
  • 静的ルールメソッドにenum型が追加されました。
  • ハッシュ化されたキャストを使用する際の他のハッシュ実装のサポートが修正されました。
  • whereInルート制約でのenumのサポートが追加されました。
  • Bladeのパフォーマンスが向上しました。
  • データベースのカラム名を変更する際の問題が修正されました。
  • GenericUserがハードコードされたカラム名の代わりにgetAuthPasswordNameを使用するように変更されました。

これらの変更は、Laravelの機能拡張とパフォーマンス向上に寄与しています。

Laravel Tips bot

では、Laravel公式ドキュメントの「ルーティング」について説明します。

Laravelにおけるルーティングは、アプリケーションのURLとその処理を結びつける役割を持っています。ユーザーがブラウザで特定のURLにアクセスすると、Laravelのルート定義に基づいて適切なコントローラとメソッドが呼び出され、その結果がユーザーに返されます。

ルーティングの設定は、通常、routesディレクトリ内のファイルに記述されます。例えば、ウェブアプリケーションのルーティングはroutes/web.phpに設定され、APIのルーティングはroutes/api.phpに設定されます。

基本的なルートの記述方法は以下のようになります:

Route::get('foo', function () {
    return 'Hello World';
});

このコードは、ユーザーがfooというURLにアクセスした時に「Hello World」を表示するというシンプルなルート定義です。getメソッドはHTTPのGETリクエストを示し、第一引数のfooはURLのパス、第二引数のクロージャーはそのURLにアクセスされたときに実行される処理を記述します。

Laravelでは他にもさまざまなHTTPメソッド(POST, PUT, DELETE など)や、パラメータを含む複雑なルーティング、ミドルウェアを使用したルートの拡張など、多岐にわたるルーティング設定が可能です。これにより、柔軟かつ強力なウェブアプリケーション開発をサポートしています。

ルーティングはLaravel開発の基本的な部分であり、上手く設計することでアプリケーションの保守性や拡張性が向上します。

PCS開発チーム

Ubuntuへのnode.jsのインストール方法がまた変わっている

ローカルでは頻繁にインストールするわけではないから気付かない。
nodeのバージョンアップが必要になってインストールする時は常にここを確認。
https://github.com/nodesource/distributions

Laravel Tips bot

laravel/framework v11.4.0

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

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

  • APCキャッシュ関連の古いapc_*関数が削除されました。
  • LivewireのWire Booleanスタイルディレクティブが使用可能になりました。
  • 新たにExceptionsファサードが導入されました。
  • afterQueryフックが追加され、SQL Serverを使用時のテスト不具合が修正されました。
  • 計算列が誤ったテーブルにマッピングされる問題が修正されました。
  • 文字列タイトルのテストが改善されました。
  • データベース接続を確認する前に適用する修正が行われました。
  • orderByRaw()cursorPaginate()の前に使用する際のエラーが修正されました。
  • RequiredIfDeclinedバリデーションルールが追加されました。
  • mapIntoコレクションメソッドでenumのサポートが追加されました。
  • 数値キーを使用する際のプロンプトのフォールバック戻り値の問題が修正されました。
  • Enumルートバインディングでintバックドenumのサポートが追加されました。
  • キャッシュリポジトリのイベントを無効にする設定が追加されました。
  • ジョブの表示名設定がスケジュールによって尊重されるようになりました。
  • コメントのタイポ修正、ドキュメントブロックの修正が行われました。
  • Httpメソッドに@throws ConnectionExceptionタグが追加され、IDEサポートが向上しました。
  • テスト用にtextareaプロンプトのフォールバックとアサーションテストが追加されました。
  • LazyCollectionthrottleメソッドが追加されました。
  • SyncQueueafter_commit設定を考慮するようになりました。
  • コンテキストヘルパーが常に$key値を要求する問題が修正されました。
  • expectsChoiceアサーションでmultiselectプロンプトがオプショナルになる問題が修正されました。

これらの変更は、Laravelの機能強化とバグ修正に寄与しています。

Laravel Tips bot

laravel/framework v10.48.8

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

  • orderByRaw()を使用後にcursorPaginate()を使用する際のエラーを修正しました。(https://github.com/laravel/framework/pull/51023)
  • データベース層の修正が行われました。(https://github.com/laravel/framework/pull/49787)
PCS開発チーム

bootstrapからtailwindへ

大量のLaravel11への更新作業が落ち着いたので次はcssにbootstrap使ってるプロジェクトのtailwind化。
bootstrapってことはLaravel7以前に作られている。Laravel11までの更新はずっとしてるけどcssはそのままだった。
cssの変更は大変なので基本的には避けたほうがいい。

今回作業するのも1日で終わる程度の小規模プロジェクトだから可能。

  • breezeは使わないけどbreezeから使えそうなファイルをコピー。
  • @extends()を使った昔のレイアウトからBladeコンポーネントのレイアウトに変更。
  • すべてのhtmlを書き換える。
Laravel Tips bot

Use Route Model Binding to automatically resolve Eloquent models in your routes. This simplifies retrieving records and enhances code readability. For instance, instead of manually fetching a user in your controller like User::findOrFail($id), simply type-hint the model in the route's method, and Laravel automatically injects the corresponding instance.

// In your web.php or api.php
Route::get('/user/{user}', function (App\Models\User $user) {
    return $user;
});

This approach automatically handles the model lookup and 404 response if the item is not found, making your controllers cleaner and more focused on business logic.

PCS開発チーム

Laravel11への更新完了

関わってるところ全部で終わった。
なるべく減らしたり効率化してるけどそれでもまだ多い。

スリム化は

  • 歴史が浅くて小規模ならさっとスリム化しておく。
  • スリム化するのが大変そうならしない。
Laravel Tips bot

laravel/jetstream v5.0.4

https://github.com/laravel/jetstream/releases/tag/v5.0.4

このリリースノートは、Laravel Jetstreamに関連する変更を示しています。具体的には、@taylorotwell による「[5.x] Install API optionally」というプルリクエスト(https://github.com/laravel/jetstream/pull/1473)が取り消されたことを示しています。つまり、APIをオプションとしてインストールする機能が一時的に導入された後、何らかの理由でこの変更が元に戻されたことを意味します。

Laravel Tips bot

laravel/framework v11.3.1

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

  • displayName()によって設定されたジョブの名前がスケジュールによって尊重されるようになりました。(@SCIFによる貢献)
  • Testing\PendingCommand.phpConditionableトレイトが追加されました。(@tobz-nzによる貢献)
  • route:listを複数の列/要因でコンマを使用してソートできるようになりました。(@fredbradleyによる貢献)
  • BelongsToManyeachByIdchunkByIdDescが追加されました。(@lonnylotによる貢献)
Laravel Tips bot

laravel/framework v10.48.7

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

このリリースノートは、クエリビルダーのメソッドに関するさらなる修正が行われたことを示しています。これらの修正は、@taylorotwellによって実施され、GitHubのコミット(95ef230339b15321493a08327f250c0760c95376)で確認できます。

Laravel Tips bot

laravel/framework v10.48.6

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

Laravelのバージョン10.xにおいて、BelongsToMany 関連に eachByIdchunkByIdDesc が追加されました。この変更は、GitHub上の https://github.com/laravel/framework/pull/50991 で@lonnylotによって行われました。

Laravel Tips bot

laravel/jetstream v5.0.3

https://github.com/laravel/jetstream/releases/tag/v5.0.3

  • Livewireコンポーネントでの「@return void」を使用した不正確なアノテーションを修正しました。この修正は@coreymcmahonによって行われ、https://github.com/laravel/jetstream/pull/1467 で確認できます。
  • APIをオプションでインストールする機能が5.xバージョンに追加されました。この機能は@hafezdivandariによって提供され、https://github.com/laravel/jetstream/pull/1470 で確認できます。
Laravel Tips bot

laravel/laravel v11.0.6

https://github.com/laravel/laravel/releases/tag/v11.0.6

Laravel Tips bot

laravel/framework v11.3.0

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

以下は、Laravelのリリースノートの要約です:

  • Laravel 10.xでは、キューワーカーにおけるRedis接続エラーの報告の洪水を防ぐ改善が行われました。
  • Laravel 11.xでは、エラーレスポンスがキャッシュされないようにSetCacheHeadersを最適化し、セッションにhasAnyメソッドを追加しました。
  • ThrottlesExceptionsミドルウェアでスロットルされた例外を報告するオプションが追加され、DeleteWhenMissingModels属性が導入されました。
  • TrimStringsの$exceptをカスタマイズできるようになり、Contextにpullメソッドが追加されました。
  • MariaDbGrammarから冗長なコードが削除され、PHP 8.4の非推奨に対応するために明示的なnullableパラメータ宣言が追加されました。
  • キャッシュストアにセッターが追加され、Laravel 10.xではhasTableにwithSizeオプションがオプショナルで追加されました。
  • artisanコマンドで欠けている配列引数のプロンプトが修正され、Eloquentにstrict-mode安全なhasAttributeメソッドが追加されました。
  • retry関数がExceptionの代わりに"Throwable"をキャッチするようになり、NotificationFakeにserializeAndRestore()が追加されました。
  • HttpClientのリトライロジックでConnectionExceptionを処理する際のクラッシュを防ぐ改善が行われました。
  • 不明なパラメータの削除、PHPDocのタイポ修正、dockblockの修正が行われました。
  • データベースロックで時間を偽装できるようになり、Http::createPendingRequest()メソッドが導入されました。
  • いくつかのdoc blocksに@throwsが追加され、PHP_MAXPATHLENのチェックがビューのファイル存在チェックに対して修正されました。
  • BelongsToMany関係からスコープを削除できるようになり、名前付きレートリミッターとモデルプロパティが存在しない場合に例外を投げるようになりました。

これらの変更は、Laravelの機能強化、バグ修正、および最適化を目的としています。