$this-> assign("","");

#1 project

$this-> assign("","");  在sp2中可以这样用,怎么到sp3了就没定义assign这个函数了,如果要用assign来赋值怎么办?

2010-07-16 15:31:41

#2 jake

据我所知,speedphp的spController一直都没有assign的函数,一直都是使用$this->var的方式来对模板赋值的。

具体可以浏览从speedphp1.5到现在版本的spController文件的变化记录:
http://code.google.com/p/speedphp/source/list?path=/trunk/Core/spController.php

另外,在smarty中,assign函数主要是用于对模板赋值,而speedphp采取的替代assign方法就是“$this->变量 = 值”的方式,更统一有效。

2010-07-16 17:13:46

#3 project

噢, “$this->变量 = 值”这个我知道

在框架中spController.php页面
public function assign($name, $value)
        {
                if(TRUE == $GLOBALS['G_SP']['view']['enabled']){
                        $this->v->getView()->assign(array($name=>$value));
                }
                $this->__template_vals[$name] = $value;
        }
我这样一改就可以$this-> assign("变量","值")这样用了

2010-07-16 17:25:20

#4 project

:P  呵呵,这样是不是有违背原则啊

2010-07-16 17:26:22

#5 jake

呵呵,的确最好不要修改框架本身的文件。

而且我也看不出来用assign代替$this->有什么不同的地方?

2010-07-16 18:56:41