您好我是Phalcon的新手,在控制器中遇到全局变量问题
我有一个带有全局变量$mobs
的控制器,就是这样。
class ControllerBase extends Controller {
public $mobs;
public function initialize() {
$user = $this -> session -> get("uid");
$user = Users::findFirstByu_id($user);
if ($user != null) {
if ($user -> f_id != null) {
$mobs = Mob::find(array("f_id=$user->f_id", "order" => "m_id"));
}
}
}
}
?>
根据我的理解,我可以设置它,并通过例如
的动作来调用它public function mobsAction() {
foreach ($mobs as $mob) {
echo $mob->m_displayname;
}
}
但这给了我一个Undefined variable: mobs error
我想知道是否可以使用这样的变量,或者我是否应该在每个动作中都使用初始化代码。
答案 0 :(得分:0)
我猜你正在尝试在初始化函数中设置类变量$ mobs然后尝试在类函数mobsAction中迭代它们,以访问类变量怪物你需要使用$ this->小怪代替$ mobs,像这样:
class ControllerBase extends Controller {
public $mobs;
public function initialize() {
$user = $this -> session -> get("uid");
$user = Users::findFirstByu_id($user);
if ($user != null) {
if ($user -> f_id != null) {
$this->mobs = Mob::find(array("f_id=$user->f_id", "order" => "m_id"));
}
}
}
public function mobsAction() {
foreach ($this->mobs as $mob) {
echo $mob->m_displayname;
}
}
}