PHP静态成员变量返回空值

时间:2013-05-28 20:19:58

标签: php backbone.js static laravel member

首先抱歉我的英语不好。

我正在使用Laravel和Backbone.js创建一个简单的Web应用程序。在我的服务器端,我有一种方法,其中生成sql查询以获取随机数据。我需要存储该数据,因此我正在使用静态成员变量(数组)。但是当我尝试从另一个方法(名为ocijeni的方法)访问该静态变量时,数组的值为空。

(服务器端逻辑与Backbone.js异步访问)。

这是我的代码:

class TestController extends BaseController {
    static private $odgovori = array();

    public function pitanja() {
        $pitanja = DB::select('select tocnoid,id,jedinstveno,pitanje,pomoc,odgovora,odgovorb,odgovorc from pitanja ORDER BY RAND() LIMIT 15');
        foreach ($pitanja as $pitanje => $value) {
            array_push(self::$odgovori, $value);
        }
    }

    public function ocijeni() {
        if (!Request::ajax()) {
            App::abort();
        } else {
            print_r(self::$odgovori);
        }
    }
}

1 个答案:

答案 0 :(得分:2)

如果从不同的AJAX调用调用页面,则将重置静态变量中的值。每次调用页面都将处于相同的初始状态。

如果要在AJAX调用中保留数据,您需要查看会话或将数据存储到cookie中。