当在Yii2中检测到特定IP时,引发相应的事件
P粉031492081
P粉031492081 2023-09-10 22:38:09
0
1
686

我正在开发一个餐厅系统,每当有人连接到餐厅的网络时,必须弹出一个菜单选项卡。我尝试通过检测用户的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粉031492081
P粉031492081

全部回复(1)
P粉276577460

您应该阅读Yii2文档上关于处理请求的部分

要获取客户端的IP,文档在这里,请求API文档在这里

$userHost = Yii::$app->request->userHost;
$userIP = Yii::$app->request->userIP;
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板