Heim  >  Artikel  >  php教程  >  Yii2.0 erstellt eine benutzerdefinierte Komponentenmethode

Yii2.0 erstellt eine benutzerdefinierte Komponentenmethode

黄舟
黄舟Original
2017-01-03 09:38:271223Durchsuche

Das Folgende ist ein Beispiel für die Erstellung einer benutzerdefinierten Komponente in Yii2.0

Schritt 1: Erstellen Sie den Komponentenordner unter „Allgemein“

Schritt 2: Im neu erstellten Komponentenordner Erstellen eine benutzerdefinierte Komponente wie: ReadHttpHeader.php, der Code lautet wie folgt

) as $ip) {
                    if (filter_var($ip, FILTER_VALIDATE_IP) !== false) {
                        return $ip;
                    }
                }
            }
        }
    }
 
}

注意: 'common' 已经在 common/config/bootstrap.php定义好了别名,可以直接使用

第三步:打开common/config/main.php(main-local.php) 在配置文件中添加你的组件

<?php
 
return [
          &#39;components&#39; => [
                    &#39;ReadHttpHeader&#39; => [
                              &#39;class&#39; => &#39;commoncomponentsReadHttpHeader&#39;
                    ],
          ],
 ];

第四步:现在我们的组件方法可以被所有控制器调用,比如我们现在在我们的基础控制器(BaseController)中加载我们的组件ReadHttpHeader ,其他控制器都继承我们的基础控制器

<?php
 
namespace frontendcontrollers;
 
use Yii;
use yiiwebController; 
class BaseController extends Controller {
 
    protected $session = false;
 
    public function actions() {
        return [
                  &#39;error&#39; => [
                            &#39;class&#39; => &#39;yiiwebErrorAction&#39;,
                  ],
        ];
    }
 
    public function init() {
 
        parent::init();
 
        // IP essential for prelim DDoS check
        if (!$this->cgS(&#39;UC-SEC.1a&#39;)) {
            $ip = Yii::$app->ReadHttpHeader->RealIP();
            echo $ip;
        }
    }
 
}

Das Obige ist der Inhalt der Methode zum Erstellen einer benutzerdefinierten Komponente in Yii2.0. Weitere verwandte Inhalte finden Sie hier. Bitte beachten Sie die chinesische PHP-Website (www.php.cn)!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn