0

クラス内でクラスを使用しようとしていますが、クラスの初期化されたコンテンツに問題があるようです。var_dumpを実行すると、クラス構造は正常に表示されますが、初期化したコンテンツは表示されません。私はおそらくかなり明白な何かを見逃していることを知っています、どんなポインタも素晴らしいでしょう。例を以下に示します...

class firstClass()
{

    public $thedate;

    function __construct()
    {
        $this->thedate = date();
    }

}


class secondClass()
{

    public $datefrom1stclass;

    function __construct()
    {
        $this->datefrom1stclass = new firstClass;

        echo $this->datefrom1stclass->thedate;

    }

}

よく説明していない場合は申し訳ありませんが、var_dumpを実行すると、次のようになります。

object(firstClass)#3 (1) { ["thedate"]=> NULL }

どんなポインタでもいただければ幸いです!

4

2 に答える 2

1

パラメータなしでdate()を呼び出さないでください。少なくとも1つ(文字列としての形式)を指定する必要があります。

$this->thedate = date('D M j G:i:s T Y');

コードの残りの部分は正しいです(new firstClass()かっこ付きの形式が望ましいですが、読みやすくなっています)。

于 2012-07-09T11:08:32.393 に答える
0

これが正しいコードです:)お楽しみください `

public $thedate;

function __construct()
{
    $this->thedate = date("Ymd");
}

}

クラスsecondClass {

public $datefrom1stclass;

function __construct()
{
    $this->datefrom1stclass = new firstClass;

    echo $this->datefrom1stclass->thedate;

}

$var = 新しい secondClass(); var_dump( $var ); ?> `

于 2012-07-09T11:26:30.057 に答える