2014-06-25 29 views
0

我在我的控制器下面的代碼:問題與調用PHP全局變量爾康

<?php 
class skillsController extends \Phalcon\Mvc\Controller 
{ 
    public function indexAction() 
    { 
     $skills = Skills::find(); 
     $this->view->setVar("skills", $skills); 
    } 

    public function deleteSkillAction() 
    { 
     $GLOBALS['gID'] = $_GET["id"]; 
    } 

    public function yesAction() 
    { 
     $id = $GLOBALS['gID']; 
     echo $id; 
     $manager = $this->modelsManager; 
     $phql = "DELETE FROM skills WHERE id =:id:"; 
     $manager->executeQuery($phql, array('id' => $id)); 
    } 

    public function noAction() 
    { 

    } 
} 

我retriving一個名爲id通過GET varible在我將其設置爲$ GLOBALS [「GID」] deleteSkillAction函數,現在爲什麼當我把它叫做yesAction函數確實phalcon不知道這個變量是什麼?

+0

您應該使用該會話:http://ch2.php.net/manual/en/intro.session.php - $ GLOBALS只對一個請求持久。 – greut

回答

3

您應該閱讀關於PHP和HTTP的更多基本信息。 Phalcon在這裏沒有錯。在向deleteSkill操作發出請求期間,您將變量分配給GLOBALS數組,然後嘗試在對yesAction的另一請求期間訪問此變量。例如,在這種情況下使用一些持久容器:session或memcache。

+0

Ohk謝謝你.. –