PHP

【PHPUnit】カバレッジの除外設定

PHPUnit12/11でカバレッジの対象から特定のファイルやディレクトリを除外する設定のメモです。
PHP

【PHP】PDOを使ってPaginatorを作ってみる

フレームワークや外部ライブラリ禁止のプロジェクトで、Laravelのページネーション paginate(5) のような機能を作ってみるという案件です。
PHP

【PHP】動的プロパティをエラーが出ないように扱ってみる

PHP8.2.0以降で動的プロパティは非推奨となり、error_reporting(E_ALL) とすると、存在しないクラスプロパティへの値代入は実行されますが、エラー出力されます。意図しないプロパティへの値代入はバグの温床になるので、クラスプロパティは明示的に宣言してくださいとうことでしょう。しかしながら、この動的プロパティを敢えて使いたい場面もあったります。例えば、ModelBaseで取得結果をDTOで返したい場合などは、当然テーブル毎にカラム定義が異なるので、いちいちテーブル毎のDTOを事前に宣言しておくというのは現実的ではありません(いや、やりたくありません)。PDOStatementで fetch したレコードのカラム名をプロパティ名として、動的プロパティとして値を代入したいものです。というわけで、 error_reporting(E_ALL) でもエラーが出ないように動的プロパティを扱っていきます。
PHP

【PHP】DateTimeオブジェクトをもっと使いやすくしてみる

フレームワークや外部ライブラリ使用禁止のプロジェクトでは、日付計算でCarbonのような超絶便利なものが使えず、PHP組込のDateTimeオブジェクトを使うことになります。これがまた使いにくいので、もう少し使いやすくしてみましょう。
PHP

【PHP】CLIでの標準入力マスキング

パスワードや暗証番号などの機密情報をターミナルの標準入力でタイプする際に、画面上では見えないように別の文字でマスキングする方法のメモです。(制作協力:ChatGPT-4o)
PHP

【PHP】条件判定のベンチマーク

PHPの条件判定処理についてベンチマークテストを実施してみました。対象の条件判定処理は、if文、三項演算子、switch文、match式の4種類です。対象のPHPバージョンは、8.2 / 8.3 / 8.4 です。
MariaDB

【MariaDB】一時テーブルの使い方確認

MariaDBでは一時テーブルを使ったことがなかったので、確認のためのメモをしておきます。
Laravel

【Laravel12】Arr::dot()メソッドが爆速化しました

日本時間2025/04/22深夜にリリースされた Laravel v12.10.0 に盛り込まれた改善点の一つとして、Arr::dot() メソッドの爆速化があります。ベンチマークの結果、最大300倍の速度改善が見られたようです。
Podman

【Podman】Podman Machineの作り直し

WSL2上に作成されているPodman Machineを色々と汚してしまったので、削除して再度作成する際の手順を記しておきます。
Podman

WSL2のUbuntu上のフォルダをPodman Machineでマウント その1

WSL2のディストリビューションUbuntu24.04のファイルシステムを、別ディストリビューションのPodman Machine側でマウントする設定のメモです。何通りか考えられる内、今回は一番手っ取り早そうなネットワークドライブ経由でマウントする方法を試してみました。