コンストラクターの仕事は、後でアクセスまたはエコーできる内部プロパティをセットアップすることです。または、特定の要件が満たされない場合に例外をスローして構築を防止します。何かをエコーするべきではありません。エコーは後で行います。
class example {
public $time = null;
function __construct() {
$this->time = time();
}
}
$ex = new example();
echo strftime('%Y-%m-%d %H:%M:%S', $ex->time);
レスポンダーがここで悪い慣行を助長する理由がわかりません (echoing in constructor)
。ポスターに正しい方法を教えます。エコーが必要な場合は、いまいましい関数を使用してください。何かを処理した後に出力が必要なだけなのに、なぜオブジェクトを構築するのでしょうか? オブジェクトの全体的な目的は、後で使用できるプロパティ、または連携してそれらのプロパティにアクセスする複数のメソッドを保持することです。他にも理由はありますが、現在の状況ではあまりにも進んでいます。