我来自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);
}
}
答案 0 :(得分:3)
它被称为$this
,而不是$_this
!
$this->_book = $book;
$this->_name = $name;