我正在開發(fā)一個餐廳系統(tǒng),每當(dāng)有人連接到餐廳的網(wǎng)路時,必須彈出一個菜單選項卡。我嘗試透過偵測使用者的IP位址並查看是否與餐廳的網(wǎng)路相符來實現(xiàn)。但是它根本不起作用。 (所有程式碼都必須使用Yii2,這是我第一次接觸,沒有經(jīng)驗)
我檢查了所有的資料夾和檔案名,但都是正確的,事件根本不運行。
只是為了提供一些背景信息,我有一個組件來進(jìn)行檢測工作,所有的程式碼都在那個文件中運行。問題似乎出現(xiàn)在實際的控制器中。
<?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'); } } ?>
我什至不知道這是否是正確的方法,在有人連接到網(wǎng)路時彈出一個選項卡,但這比根本不嘗試要好。我會非常感謝一些幫助,因為我在Yii2上沒有經(jīng)驗。
您應(yīng)該閱讀Yii2文檔上關(guān)於處理請求的部分
$userHost = Yii::$app->request->userHost; $userIP = Yii::$app->request->userIP;