コンストラクター メソッドを持つクラスは、新しく作成されたオブジェクトごとにこのメソッドを呼び出すため、オブジェクトが使用される前に必要な初期化に適しています。
コンストラクターのドキュメントを読む (リンク)
クラスのインスタンスは new キーワードを使用して作成されます。new 呼び出し中に何が起こるかというと、要求したクラスで定義されたプロパティの独自のコピーが新しいオブジェクトに割り当てられ、オブジェクトが定義されている場合はそのオブジェクトのコンストラクターが呼び出されます。コンストラクターは という名前のメソッドで__construct()
、オブジェクトの作成後に new キーワードによって自動的に呼び出されます。通常、プロパティの初期化など、さまざまな初期化を自動的に実行するために使用されます。コンストラクターは引数を受け入れることもできます。その場合、新しいステートメントを作成するときに、コンストラクターに括弧内の関数パラメーターも送信する必要があります。
PHP 4 では、コンストラクターの名前として を使用する代わりに、__construct()
C++ のようにクラスの名前を使用してメソッドを定義する必要がありました。これは PHP 5 でも機能しますが、新しいアプリケーションには新しい統一されたコンストラクターの命名規則を使用する必要があります。
次のクラスの例では、改行で人々の名前を渡すことができます。
class Person {
function __construct($name)
{
$this->name = $name;
}
function getName()
{
return $this->name;
}
private $name;
};
$judy = new Person("Judy") . "\n";
$joe = new Person("Joe") . "\n";
print $judy->getName();
print $joe->getName();
ヒント: コンストラクターは値を返すことができないため、コンストラクター内からエラーを発生させる最も一般的な方法は、例外をスローすることです。