我在我的代码中实现了一个观察者模式,它观察某个状态。如果更改此状态,processReceivedData()
应该在浏览器中打开多个页面的同时刷新多个页面(或者通常,更新使用观察状态的多个页面)。
public function processReceivedData() {
//header("location: ".$_SERVER['PHP_SELF']);
header("Refresh: 0; url=".$_SERVER['PHP_SELF']);
}
它只会重新加载我所在的当前页面并且我理解为什么(当算法已经完成并且PHP
不是动态的时候,其他浏览器窗口如何知道有变化?)
我如何重新加载其他页面以及更改?它们都使用相同的观察者并观察和改变这个函数被称为
public function setState($newState, $_PizzaID) {
if($this->db->query("UPDATE bestelltepizza SET status='$newState' WHERE PizzaID = '$_PizzaID'")) {
parent::notify();
} else {
$this->state = "Unable to connect to database via setState(); method";
}
}
我无法想出一个正确的方法来解决这个问题,因为我不知道PHP
的所有可能性,如果只有PHP
这是可能的,或者它只会使用javascript
或其他。
如果我无法清除我的确切问题或者如果我的问题出现任何问题,请发表评论,我会澄清。非常感谢,谢谢。