Je travaille sur un système de restaurant et chaque fois que quelqu'un se connecte au réseau du restaurant, un onglet de menu doit apparaître. J'ai essayé cela en détectant l'adresse IP de l'utilisateur et en voyant si elle correspondait au réseau du restaurant. Mais ça ne marche pas du tout. (Tous les codes doivent utiliser Yii2, c'est mon premier contact, aucune expérience)
J'ai vérifié tous les noms de dossiers et de fichiers mais ils sont tous corrects, l'événement ne se déroule pas du tout.
Juste pour fournir quelques informations de base, j'ai un composant qui effectue le travail d'instrumentation et tout le code est exécuté dans ce fichier. Le problème semble provenir du contrôleur lui-même.
<?php namespace app\controllers; use Yii; use yii\web\Controller; class NetworkController extends Controller{ public function actionNetworkTeste(){ Yii::$app->networkEventManager->on('specificNetworkConnectionDetected', [$this, 'onSpecificNetworkConnectionDetected']); return $this->render('networkTeste'); } public function onSpecificNetworkConnectionDetected($event){ //Yii::debug('Funcionou'); return $this->render('network-alt'); } } ?>
Je ne sais même pas si c'est la bonne façon de procéder, afficher un onglet lorsque quelqu'un est connecté au réseau, mais c'est mieux que de ne pas essayer du tout. J'apprécierais vraiment de l'aide car je n'ai aucune expérience avec Yii2.
Vous devriez lire la section sur le traitement des demandes sur la documentation Yii2
Pour obtenir l'IP du client, la documentation est ici, et la documentation de l'API de requête est ici