【问题标题】:PHP static member variable returns empty valuePHP静态成员变量返回空值
【发布时间】:2013-05-28 20:19:58
【问题描述】:

首先对不起我的英语不好。

我正在使用 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);
        }
    }
}

【问题讨论】:

  • 调试/转储您的 db-query 输出,看看是否有任何 SQL 错误。
  • 没有错误:(

标签: php backbone.js static laravel member


【解决方案1】:

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

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

【讨论】:

  • 非常感谢......这正是正在发生的事情。两个不同的 ajax 调用...
猜你喜欢
  • 2011-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多