PHP クラスでコンストラクターを定義する方法を教えてください。
私はそのような方法でクラスを書きました:
class ABC
{
private $x=5;
function display()
{
echo $this->x;
}
}
今、私はクラスにパラメーター化されたコンストラクターを定義しようとしているので、$x に適切な値を持つオブジェクトを作成できます。どうやってやるの?
PHP クラスでコンストラクターを定義する方法を教えてください。
私はそのような方法でクラスを書きました:
class ABC
{
private $x=5;
function display()
{
echo $this->x;
}
}
今、私はクラスにパラメーター化されたコンストラクターを定義しようとしているので、$x に適切な値を持つオブジェクトを作成できます。どうやってやるの?
他の2人は正しく答えていますが(あなたの名前を言うのが面倒です:P)、次のようにコンストラクタを書くこともできると言わなければなりません:
<?php
// Constructor
class Object {
function Object($vars) {
}
}
?>
コンストラクターには、クラス自体と同じ名前を付けることもできますが、必ずしもそうである必要はありません。__construct()
公式ドキュメントからの更新
警告 古いスタイルのコンストラクターは PHP 7.0 では非推奨であり、将来のバージョンでは削除される予定です。新しいコードでは常に __construct() を使用する必要があります。
class ABC
{
private $x;
function __construct($x)
{
$this->x = $x;
}
function display()
{
echo $this->x;
}
}
このドキュメントのリンクを確認してください:http://us.php.net/manual/en/language.oop5.decon.php
<?php
/**
* a class demonstrating constructors
*
*/
class ABC
{
var $x;
public function __construct($arg)
{
// this function gets its arguments via the class constructor
$this->x = $arg;
}
public function showVariable()
{
echo $this->x;
}
}
?>
<?php
// see the class constructor can take an argument (to be passed to the __construct) function
// it can be an array or just a variable
$abc = new ABC("Hello World");
$abc->showVariable();
?>