今日、Artisan Command のライフサイクルに関して奇妙なことに出くわしました。
- という名前の職人コマンドを追加しました
cronjobs:MyCommand
。 - 必要なファイルとクラスを作成しました。
- クラス
MyCommand
が拡張しBaseCommand
ます。
BaseCommand
は、コマンド ライン操作のベンチマークに使用したものです。コンストラクタとデストラクタで構成されます。コンストラクターは操作の開始時刻を追跡し、デストラクタは現在時刻から開始時刻を引いたものをログ テーブルに記録します。
驚いたことに、 via artisanを発行するたびに__destruct()
、 my の関数が合計 5 回呼び出されることがわかりました。BaseCommand
cronjobs:MyCommand
これは正常な動作ですか? もしそうなら、代わりにどのようにロギングを処理することになっていますか?