私は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);
}
}