「LaravelとVite、レガシーリプレイス。次の一手、どう考える?」~【php】今週の人気記事TOP5(2025/09/07)
【2025/9/7】「LaravelとVite、レガシーリプレイス。次の一手、どう考える?」今週の人気記事TOP5(2025/09/07)
[Laravel] 10年付き合うことになるWebAPIをチームで作るときに考えたこと
通販事業のWebAPIリプレイスにおいて、10年後も快適な開発を目指し、PHPとLaravelを採用。オンプレミス環境でコンテナ化し、GitLab CI/CDを構築。チームのスキルと事業の変化に対応するため、ディレクトリ構成を再考し、UseCaseとInternalディレクトリを導入。連想配列の使用禁止、PHPUnitの徹底、アンチパターンの定義などを推進。課題はテストコードの浸透、レビュー文化の醸成、ドメイン知識の共有、認証・認可の整備。長期的な保守を見据え、柔軟性を重視した設計を目指している。
非数 や -0.0 は truthy?
浮動小数点数の0、-0.0、非数(NaN)がtruthy/falsyとして扱われるかを複数言語で調査。C/C++とPythonは0と-0.0がfalsy、NaNがtruthy。RubyとLuaは全てtruthy。JavaScriptとPHPは全てfalsy。PerlはC/C++と同様。言語によって挙動が異なり、特にJavaScriptとPHPが少数派であることが判明。著者はRuby/Luaの「nilとfalse以外truthy」方式を好む。
PHP 5.2からLaravel 11への大規模リニューアル #1 プロジェクト概要と課題分析
20年以上稼働するPHP5.2ベースの「Aniradi Network」をLaravel 11へリニューアルするプロジェクトの概要。
技術的負債(セキュリティリスク、メンテナンス性、パフォーマンス、文字コード問題)が深刻化し、長年リニューアルを阻んでいたが、Claude Codeの登場により開発効率が向上。
PHP8.3 + Laravel 11、MySQL8.0へ移行し、セキュリティ強化、保守性向上、ユーザー体験・運用効率の改善を目指す。
Claude Codeを活用し、段階的なデータ移行と並行稼働で進める。
Laravel + Vite + α のモダンフロントエンド環境を5分で立ち上げる手順
Laravel BreezeとSailを利用し、Viteを導入したモダンなフロントエンド開発環境を迅速に構築する手順を紹介。Docker環境でLaravelプロジェクトを作成後、BreezeでBootstrap, Vue, Reactのいずれかの足場を生成し、npm installとnpm run devでビルド。これにより、認証機能付きの快適な開発環境が手軽に実現可能。
PHPとfontforgeで実装するWebフォント変換サーバー
PHPとFontForgeを活用し、Webフォント変換サーバーを実装した事例を紹介。ユーザーがアップロードしたOTF/TTF形式のフォントファイルを、FontForgeやttf2eotなどのコマンドラインツールを用いてWOFF2, WOFF, EOT, SVG形式に自動変換し、ZIPファイルとしてダウンロードさせる。CakePHPでの実装例として、ファイル処理、形式変換、ZIP圧縮の流れを解説。セキュリティ対策としてOSコマンドインジェクション対策の必要性、サーバー負荷、エラーハンドリングについても言及。
Discussion