Slim Route似乎重置了静态变量

时间:2018-05-18 12:27:28

标签: php slim

我使用Slim路线呼叫RabbitBroker::setup()并跟踪其响应。

设置方法将始终执行并执行init proccess。它永远不会返回“已设置”消息。我尝试使用RabbitBroker::$isSetup代替self::$isSetup ..继续伪造价值。我在这里疯了吗?

class RabbitBroker
{     
    private static $isSetup = false; 

    public static function setup() {

        if (self::$isSetup) return "Connection was set already setup";

        self::$isSetup = true;

        // do some init...

        return "Connection is now set by init"
    }

}

1 个答案:

答案 0 :(得分:1)

您可能正在尝试在请求之间共享静态变量的值。 PHP是无状态的(如HTTP),因为如果这样,每个脚本执行都有自己的静态变量。

因此,设置静态变量仅为当前请求设置,而不是为以下请求设置。