php 在Yii2中检测到特定IP时触发事件

jtw3ybtb  于 2023-08-02  发布在  PHP
关注(0)|答案(1)|浏览(102)

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

vohkndzv

vohkndzv1#

您应该阅读handling request上的Yii2文档
要获取客户端的IP,文档在这里,请求API文档here

$userHost = Yii::$app->request->userHost;
$userIP = Yii::$app->request->userIP;

字符串

相关问题