第一步:在common下创建components文件夹
第二步: 在新建的components文件夹中创建一个自定义组件 比如: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 [ 'components' => [ 'readhttpheader' => [ 'class' => 'commoncomponentsreadhttpheader' ], ], ]; 第四步:现在我们的组件方法可以被所有控制器调用,比如我们现在在我们的基础控制器(basecontroller)中加载我们的组件readhttpheader ,其他控制器都继承我们的基础控制器 <?php namespace frontendcontrollers; use yii; use yiiwebcontroller; class basecontroller extends controller { protected $session = false; public function actions() { return [ 'error' => [ 'class' => 'yiiweberroraction', ], ]; } public function init() { parent::init(); // ip essential for prelim ddos check if (!$this->cgs('uc-sec.1a')) { $ip = yii::$app->readhttpheader->realip(); echo $ip; } } }
以上就是yii2.0 创建一个自定义组件方法的内容。