$this->变量无法从数组中取值
发布于:2022-01-17 09:50:54
#1 cygsd
在spController扩展类中,遇到一个奇怪的问题,如下:
function index()
{
var $arr=new array('name'=>'abcd');
$this->uname = $arr['name'];
var_dump($this->uname);
$uname = $arr['name'];
var_dump($uname);
}
结果:
$this->uname=NULL
$uname='abcd'
出现这个结果是怎么回事呀?
2010-02-26 17:49:46
#2 jake
在controller内,$this->是对模板赋值,而并非是真实的变量。
解释一下,从理论上来说,SP框架的controller更倾向于是一个语言结构,类似switch case 这种,是为了更好地组织应用程序而存在的语法,所以不能用普通类的方式来去看待controller。
2010-02-27 08:31:14
#3 cygsd
谢谢!
如果是想取$_SESSION内保存的已登录的用户名,用$this->赋值给模板,以便在模板中显示当前用户名称,不知道有没有方便的方法?
2010-02-28 10:42:53
#4 jake
在控制器中建立一个构造函数,然后在构造函数内进行赋值。
2010-02-28 14:53:18
#5 redguan
在控制器中建立一个构造函数,然后在构造函数内进行赋值。
jake 发表于 2010-2-28 14:53
发个例子。
2010-03-01 16:28:54