Phpオブジェクトを実行しようとしているときに、小さな問題が発生しました。
私はこれらのクラスを持っています:
class a
{
public $day;
function __construct(){
$this->day = new DateTime("now");
}
}
class b
{
public $test;
function __construct(){
$this->test = new a()
}
function myFunc(){
$this->test->day->format('Y-m-d');
}
}
myFuncを呼び出すと、次のエラーが発生します。
致命的なエラー:非オブジェクトでのメンバー関数format()の呼び出し
クラス'b'からクラス'a'に含まれるオブジェクト属性のメソッドを呼び出すにはどうすればよいですか?
編集:さて、私は実際に上記のコードをここに投稿するために実際に持っているものよりも単純にしました、そしてそうすることでエラーはうまくいきませんでした...これは私が持っているものに近いコードであり、エラーを表示します私が話していた
<?php
date_default_timezone_set('America/Chicago');
class a
{
public $day;
}
function __construct($day = "now")
{
$this->day = new DateTime($day);
}
class b
{
public $test;
function __construct(){
$this->test = new a();
}
function myFunc(){
echo $this->test->day->format("Y-m-d");
}
}
$bclass = new b();
$bclass->myFunc();
?>
これはまさに私がそれを実行したときに得られるものです:
( ! ) Fatal error: Call to a member function format() on a non-object in C:\wamp\www\axpo\newPHPClass.php on line 21 Call Stack # Time Memory Function Location 1 0.0023 256080 {main}( ) ..\newPHPClass.php:0 2 0.0024 257128 b->myFunc( ) ..\newPHPClass.php:25
なぜ機能しないのかわかりません...確かに愚かで基本的なものだとは思いますが、私にはわかりません...