首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cakephp,如何在另一个函数中存储可重用的变量?

cakephp,如何在另一个函数中存储可重用的变量?
EN

Stack Overflow用户
提问于 2011-10-04 13:16:56
回答 2查看 1.8K关注 0票数 0

我有一个有多个函数的控制器,里面有一个变量。我想从另一个函数访问这些变量。有什么想法吗?

代码语言:javascript
复制
class RoomsController extends AppController {

public $helpers = array('Js' => 'Jquery');
public $components = array('RequestHandler');

function test1(){
        $balcony = $_REQUEST['qwe'];
        $this->set('qwe',$qwe);
}
function test2() {
        $occy = $_REQUEST['wer'];
        $this->set('wer',$wer);
}

function test3() {
        $deck = $_REQUEST['ert'];
        $this->set('ert',$ert);
}

function success() {
    // i want to use $qwe, $wer and $ert here   
}

你有什么建议吗?是否必须设置全局变量public $qwe;

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-04 13:20:38

你可以创建控制器属性,但它会破坏框架的设计,所以我建议使用Configuration类,你可以使用这个类来存储变量值和检索,这里有一个文档:

http://book.cakephp.org/view/42/The-Configuration-Class

如果重定向后需要变量的值,可以将变量存储在会话中:

代码语言:javascript
复制
$this -> Session -> write("variable", "value");

并检索:

代码语言:javascript
复制
$this -> Session -> read("variable");
票数 2
EN

Stack Overflow用户

发布于 2011-10-04 13:26:01

您可以使用CakePHP会话完成此操作

代码语言:javascript
复制
$this->Session->write('qwe', $qwe);\\ in test1

$qwe= $this->Session->read('qwe'); \\ in sucess

http://book.cakephp.org/view/1312/write

虽然代码中有许多错误和歧义。

代码语言:javascript
复制
function test1(){
    $balcony = $_REQUEST['qwe'];
    $this->set('qwe',$qwe);            
}

在这里,当你用$qwe设置qwe时,你在$balcony中获取请求值。你在所有函数中都在做同样的事情,我认为你必须检查这一点。

同样,正如deceze所说,您没有正确使用成功流函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7643571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档