我在「stackoverflow」上搜索了關於「使用$ this而不是在對象上下文中」的問題,但我無法得到我的答案,所以我在此問一下。
我只是在這裏複製我的代碼,所以你和我不感到困惑:
的錯誤是在這段代碼的第一個if語句($這個 - > checkConnection()):
public function randomLocation() {
if ($this->checkConnection()) {
$fetch = array();
$character = $this->getCharacter($_GET['action']);
$locations = Controller_Core_Database::getObjects('Model_Game_Location');
foreach ($locations as $location) {
$fetchLocation = $location->getLocationNameShort();
$fetch[] = $fetchLocation;
}
$newLocation = rand(0,31);
$character->setLocation($fetch[$newLocation]);
Controller_Core_Database::update($character);
}
}
但是我有許多函數以這個'checkConnection'和那些工作開始,除了這個。這是怪在我看來,(雖然我還是個與OOP PHP初學者)
所以這是我checkConnection功能:
public function checkConnection() {
$mysqli = Controller_Core_Database::getDB();
if ($mysqli != null) {
return TRUE;
} else {
return FALSE;
}
}
的Controller_Core_Database :: getDB()的代碼是:
public static function getDB() {
self::$mysqli = new mysqli('','','','');
return self::$mysqli;
}
我出於安全目的刪除了該信息。
這裏是一個可行的功能完美一個例子:
public function createItem() {
$view = new Controller_Core_View();
$view->setViewFile("game/createItem.php");
if ($this->checkConnection()) {
$item = Controller_Core_Database::getObjects('Model_Game_Item');
$enchantment = Controller_Core_Database::getObjects('Model_Game_Itemenchantment');
$view->assign("item", $item);
$view->assign("enchantment", $enchantment);
}
return $view->render();
}
我沒有看到2個功能的作品,而不是作品之間有什麼不同,
我希望你能幫助我
謝謝,這對我和它的愚蠢我不知道這一點。 –