Ich brauche eine Nachrichten-Benachrichtigungen in meinem System von yii2 gebaut erstellen,setInterval ist der richtige Weg, um Benachrichtigungen zu erhalten?
so habe ich diese Art und Weise
1- i in Nachrichten Reglerfunktion GETNEW erstellt:
public function actionGetnew()
{
$query1 = new Query;
$query1->select([" count(*) as price "] )
->from('messeges');
//->where // here i will add the id of user that logged in and the state of unread messages !
$command1 = $query1->createCommand();
$price = $command1->queryAll();
echo Json::encode($price);
}
2- i erstellt eine js-Datei:
window.onload = function() {
setInterval(function(){
$.get('index.php?r=messeges/getnew',function(data)
{
var data=$.parseJSON(data);
$(".messages").html(data[0].price);
});
}, 5000);
};
3- i hinzugefügt HTML-Tag wie folgt aus:
<h6 class="messages"></h6>
alles funktioniert gut, aber meine Frage ist das richtige Weg, es zu tun? , wird das mehr Verkehr und Last auf meinem Server hinzufügen? Wenn es eine bessere Idee gibt, benachrichtige mich bitte!
Entdecken Sie socket.io. Es wird verwendet, um Echtzeit-Daten-Streaming-Art von Anwendung zu erstellen, die auch Benachrichtigungssysteme enthalten –