0

我来自 java 背景,我正在尝试使用 php。现在我正在尝试将对象传递给类的构造函数并尝试在类中存储对它的引用,并在对该调用的函数调用时从存储的引用中执行一个方法。

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

人.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

并且这个函数调用永远不会进入 if 块,因为 $_book 似乎是空的。

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 回答