[英]Defining variable in a class
我是PHP的$firstDect
即使定義了它,我也會得到未定義的變量$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>
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;
}
}
從這里閱讀更多
使用以下類:
class Deck
{
public $firstDeck;
public function getdeck()
{
$this->firstDeck = new Deck();
return $this->firstDeck;
}
}
您已經在函數本身中定義了變量。
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;
}
}
保留字$this
是對您當前所在類的對象的引用。因此$this->firstDeck
表示您有一個名為$firstDeck
的類成員,而您沒有。
您可以在班級中將其聲明為成員
class Deck
{
private $firstDeck;
public getdeck() { ... }
}
或者你只是寫
public getdeck()
{
$firstdeck = new Deck();
return $firstdeck;
}
您遇到錯誤,請使用此命令:
public function getdeck()
{
$firstDeck = new Deck();
return $firstDeck ->firstDeck;
}
$這與自類有關。
很多事情是錯誤的。
您正在嘗試使用在函數內部定義的變量。
我認為您正在嘗試做的是:
class Deck{
public function getDeck(){
return array(card1, card2...);
}
}
$firstDeck = new Deck();
這就留下了一些不確定的問題,關於什么是卡片或其他超出問題范圍的東西。
另一方面,我使用了一個數組來確保getDeck
方法的輸出是可迭代的,但是我認為有多種方法可以使您的類本身可迭代,您只需要在文檔中查找即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.