0

私はJavaのバックグラウンドから来て、PHPを試しています。現在、クラスのコンストラクターにオブジェクトを渡して、その参照をクラス内に保存しようとしています。この呼び出しへの関数呼び出しで、保存された参照からメソッドを実行します。

$phpBook = new Book("Php Book", 500);
$vihaan = new Person("Vihaan", $phpBook);

Person.php

class Person
{
    private $_book;
    private $_name;

    public function __construct($name, $book)
    {
        $_this->_book = $book;
        $_this->_name = $name;
    }

この行で

    $_this->_book = $book;

警告が表示されます。

PHP Warning:  Creating default object from empty value in /home/vihaan/workspace/AdapterPattern1/Person.php on line 12

$_book が空のように見えるため、この関数呼び出しは if ブロックに入ることはありません。

public function openBook($pageNumber = 0)
{
    if(!empty($_book))
    {
        $_book->open($pageNumber);
    }
}
4

1 に答える 1

3

$thisではなく、と呼ばれてい$_thisます。

$this->_book = $book;
$this->_name = $name;
于 2013-09-13T20:07:22.843 に答える