存储对其他类对象的引用

时间:2013-09-13 20:05:14

标签: php object

我来自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

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

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

1 个答案:

答案 0 :(得分:3)

它被称为$this,而不是$_this

$this->_book = $book;
$this->_name = $name;