我是PHP的新手,即使定义了未定义的变量$firstDect
,我也是如此:
class Deck
{
public function getdeck()
{
$firstDeck = new Deck();
return $this->firstDeck;
}
}
和
<div class="panel-body">
<?php foreach ($firstDeck->getDeck() as $card): ?>
<img class="col-md-3" src="<?php echo $card->getImage(); ?>">
<?php endforeach; ?>
</div>
答案 0 :(得分:1)
class Deck
{
/* You have to define variable something like below before
accessing $this->firstDeck
*/
public $firstDeck;
public function getdeck()
{
$this->firstDeck = new Deck();
return $this->firstDeck;
}
}
从Here
了解详情答案 1 :(得分:1)
使用以下课程:
class Deck
{
public $firstDeck;
public function getdeck()
{
$this->firstDeck = new Deck();
return $this->firstDeck;
}
}
答案 2 :(得分:1)
你已经在函数中定义了变量。
public function getdeck()
{
$firstDeck = new Deck();
return $this->firstDeck;
}
您不能将$this
用于在函数内声明的变量,$this
用于引用在类级别声明的变量。你可以像这样重写你的函数,
public function getdeck()
{
$firstDeck = new Deck();
return $firstDeck;
}
或
您可以在类级别定义变量,
class Deck
{
private $firstDeck;
public function getdeck()
{
$this->firstDeck = new Deck();
return $this->firstDeck;
}
}
答案 3 :(得分:0)
保留字$this
是对您当前所在类对象的引用。因此$this->firstDeck
表示您有一个名为$firstDeck
的类成员,您可以使用没有。
您要么在班级中将其声明为会员
class Deck
{
private $firstDeck;
public getdeck() { ... }
}
或者你只是写
public getdeck()
{
$firstdeck = new Deck();
return $firstdeck;
}
答案 4 :(得分:-1)
您有错误,请使用:
public function getdeck()
{
$firstDeck = new Deck();
return $firstDeck ->firstDeck;
}
$这与自我类有关。
答案 5 :(得分:-1)
很多事情都错了。
您正在尝试使用函数内定义的变量。
我认为你要做的是:
class Deck{
public function getDeck(){
return array(card1, card2...);
}
}
$firstDeck = new Deck();
这留下了一些关于卡片或其他内容不明确的问题。
另一方面,我使用一个数组来确保getDeck
方法的输出是可迭代的,但我认为有一些方法可以让你的类本身可迭代,你只需要查找文档。