コンストラクタとは
classがnewされた瞬間に実行されるfunction。
php3、php4ではclassと同名
だったらしい。
php5では__constract()
引数
__constractの引数は([mixed $args = “” , [ … ]])てなってる。
mixed…多様な型を使える。
$args…配列。
[]で囲ってるから指定しなくてもいい。
返り値
voidとなってるから無し。
php5でも、互換性維持の為に、同名メソッドがあればコンストラクタとして実行される
らしい。
php7では__constract()。class名と同名のメソッドは非推奨となっている
デストラクタ
クラス内の関数で実行するものがないときに実行されるメソッド。
使ったこと無いけど使い所ありそう。しかもなんか便利そう。
phpは公式の説明がホントにわかりやすくていいですよね。
php8では__constract()。
名前空間の中に存在するクラスについては、 PHP 8.0.0 以降では、 クラス名と同じ名前のメソッドはなんの意味も持ちません。
新しいコードでは、常に __construct() を使うようにしましょう。
コメント