PHPMailer, Trait, Monolog メモ
2022/07/10
PHPMailer
Exception は PHP 標準の Exception を extends していますがほぼそのままなので getMessage() も可。
独自メソッドの errorMessage() は strongタグ と改行 (br) 付きのテキストが返ってくるので、HTML出力させる場合は良いですがログ出力やAPIとしての使用等プレーンが良い場合は getMessage() で。
エラーメッセージは 元クラス PHPMailer をインスタンス化したものの ErrorInfo()メソッド で取得。
その他、 error_count というプロパティもあるので、これも使えるかも。
Trait
今までなんとなくでしたが真面目に。とはいえ、 DI するためにインターフェースを噛ませる機構の場合は逆に組み込みづらいかも……?
Monolog
Monolog で改行を有効にする場合はインスタンス化する際に new LineFormatter(null, null, true) したインスタンスを StreamHandlerインスタンス の setFormatterメソッド に引数として渡す必要がある模様。
今回のユースケースではフレームワーク側で既にインスタンス化してあってそのプロセスに介入できなさそうだったので諦めました。
get_class_methods()
引数で渡したクラスにどのようなメソッドがあるか調べる関数。
レンタルサーバ
さくらに限らないと思いますが、レンタルサーバでメールのSSLありで認証をかける場合はホスト名は初期ドメインになると思われます。