PHP值在下一个函数中保持为NULL

时间:2014-08-12 12:31:27

标签: php function selenium

我试图修复测试,但不知何故,我的值在下一个函数中保持NULL。 我使用的是Sebastian Bergmann的Selenium webdriver。

所以我拥有:

protected $role;

// Setup .... 

public function testRoles()
{ 
// Code .... 
$this->role = 'hr'; // I want this value in the next function
}

public function testAcl()
{
// Login here
var_dump($this->role); // This var_dump is NULL , why?
$this->webDriver->getKeyboard()->sendKeys($this->role);
}

当我var_dump $this->role时,它会NULL

问题:为什么会这样?我忘了/可以做什么,它变成了我想要的数据:'hr'

我得到的错误:Invalid argument supplied for foreach() 这是因为$this->roleNULL

2 个答案:

答案 0 :(得分:1)

它是因为你从未在var_dump($ this-> role)之前设置角色;线。这意味着你必须在var_dump($ this-> role);之前运行$ this-> testRoles()。

答案 1 :(得分:1)

调用testRoles()来设置$ this-roles ...

   public function testAcl()
   {
       // call testRoles
       $this->testRoles();

       // now $this->role was set to hr by testRoles()

       // work with it
       var_dump($this->role); 
    }