ホームページ  >  記事  >  php教程  >  Yii2.0 はカスタムコンポーネントメソッドを作成します

Yii2.0 はカスタムコンポーネントメソッドを作成します

黄舟
黄舟オリジナル
2017-01-03 09:38:271224ブラウズ

以下は Yii2.0 でカスタム コンポーネントを作成する方法の例です

ステップ 1: common の下にコンポーネント フォルダーを作成します

ステップ 2: 新しく作成したコンポーネント フォルダーに次のようなカスタム コンポーネントを作成します: ReadHttpHeader.php 、コードは次のとおりです

) 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;
        }
    }
 
}

上記は Yii2.0 のカスタム コンポーネントの作成方法の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。