欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          yii 組件如何自定義

          yii 組件如何自定義

          下面是Yii2.0如何創(chuàng)建一個(gè)自定義組件的實(shí)例

          第一步:在common下創(chuàng)建components文件夾。

          第二步: 在新建的components文件夾中創(chuàng)建一個(gè)自定義組件,比如:ReadHttpHeader.php,代碼如下:

          namespace commoncomponents;   use Yii; use yiibaseComponent;   class ReadHttpHeader extends Component {       public  function RealIP()     {         $ip = false;           $seq = array('HTTP_CLIENT_IP',                   'HTTP_X_FORWARDED_FOR'                   , 'HTTP_X_FORWARDED'                   , 'HTTP_X_CLUSTER_CLIENT_IP'                   , 'HTTP_FORWARDED_FOR'                   , 'HTTP_FORWARDED'                   , 'REMOTE_ADDR');           foreach ($seq as $key) {             if (array_key_exists($key, $_SERVER) === true) {                 foreach (explode(',', $_SERVER[$key]) as $ip) {                     if (filter_var($ip, FILTER_VALIDATE_IP) !== false) {                         return $ip;                     }                 }             }         }     }   }

          注意: 'common' 已經(jīng)在 common/config/bootstrap.php定義好了別名,可以直接使用。
          第三步:打開common/config/main.php(main-local.php) 在配置文件中添加你的組件。

          <?php   return [     'components' => [         'ReadHttpHeader' => [             'class' => 'commoncomponentsReadHttpHeader'         ],     ], ];

          第四步:現(xiàn)在我們的組件方法可以被所有控制器調(diào)用,比如我們現(xiàn)在在我們的基礎(chǔ)控制器(BaseController)中加載我們的組件ReadHttpHeader ,其他控制器都繼承我們的基礎(chǔ)控制器。

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

          上面就是一個(gè)獲取真實(shí)IP的自定義組件,以此為例說(shuō)明一下自定義組件的流程。

          PHP中文網(wǎng),有大量免費(fèi)的Yii入門教程,歡迎大家學(xué)習(xí)!

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)