はじめに

Laravel でモデルの 作成/更新/削除 を検知してログ出力する方法

TL;DR

  • bootXXXX を持つ trait を作成して、ログ取得したいモデルに設定
  • beginTransaction などのログも合わせて取得すると正確性が増す
  • クエリログも合わせて取得すると where()->update() のようなケースも取得できる
  • 要件/環境 によってはボトルネックになりかねないので注意が必要
続きを読む

はじめに

Laravel でメール送信イベントを検知してログ出力する方法

TL;DR

  • MessageSent イベントを監視
    • app/Providers/EventServiceProvider.phpprotected $listen に設定
  • リスナ(イベントハンドラ)内でログを出力
    • getTo, getSubject で送信先、件名を取得可能
  • 要件/環境 によってはボトルネックになりかねないので注意が必要
続きを読む

はじめに

Laravel の Tinker(PsySH)、php -a で起動する PHP の対話シェル(インタラクティブシェル)などで、日本語が入力できない(※)場合の対処方法。

(※イメージとしては 'ほげ' って入力しても Enter を押して確定した瞬間に '' となるような動作)

TL;DR

  • 恒久的な対処としては libedit の更新
  • 一時的な対処としては Unicode デコード可能な関数を定義して利用
続きを読む

はじめに

PHP で moneyphp/money を使って浮動小数点数の誤差を考慮した金額を計算する方法。

TL;DR

  • composer require moneyphp/money でインストール
  • Money::JPY(3000) でインスタンス生成
  • multiply(1.1, Money::ROUND_UP) で丸めモードを指定して乗算
  • getAmount() で計算結果の取得
    • String なので必要に応じて (int) などでキャスト
  • 利用可能であれば 任意精度数学関数gmp 関数 を使っても OK
続きを読む

PHP で EAN13 のバーコード(コード)を生成



カテゴリー Programming
タグ
PHP Programming

はじめに

PHP で EAN13 のバーコード(コード)を生成する方法。

既存コードからバーコード画像を生成するには picqer/php-barcode-generator を利用すればいける(っぽい)。

今回はバーコード 画像 ではなく、コード(番号)そのものを生成する方法について。

TL;DR

続きを読む

はじめに

PHPOffice/PhpSpreadsheet を使って、エクセルファイルを操作する方法(読み込み系)を整理した。

TL;DR

  • composer require phpoffice/phpspreadsheet でインストール
  • load でファイル読み込み, getSheetByName でシート選択
  • getRowIterator & getColumnIteratorrangeToArray でデータ取得
続きを読む

r17n


Softwear Engineer


Fukuoka