我使用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"
}
}
答案 0 :(得分:1)
您可能正在尝试在请求之间共享静态变量的值。 PHP是无状态的(如HTTP),因为如果这样,每个脚本执行都有自己的静态变量。
因此,设置静态变量仅为当前请求设置,而不是为以下请求设置。