我正在开发一个餐厅系统,每当有人连接到餐厅的网络时,必须弹出一个菜单选项卡。我尝试通过检测用户的IP地址并查看是否与餐厅的网络匹配来实现。但是它根本不起作用。(所有代码都必须使用Yii2,这是我第一次接触,没有经验)
我检查了所有的文件夹和文件名,但都是正确的,事件根本不运行。
只是为了提供一些背景信息,我有一个组件来进行检测工作,所有的代码都在那个文件中运行。问题似乎出现在实际的控制器中。
<?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'); } } ?>
我什至不知道这是否是正确的方法,在有人连接到网络时弹出一个选项卡,但这比根本不尝试要好。我会非常感谢一些帮助,因为我在Yii2上没有经验。
P粉2765774602023-09-11 20:36:24
您应该阅读Yii2文档上关于处理请求的部分
$userHost = Yii::$app->request->userHost; $userIP = Yii::$app->request->userIP;