婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Yii2使用駝峰命名的形式訪問控制器的示例代碼

Yii2使用駝峰命名的形式訪問控制器的示例代碼

熱門標簽:外呼系統(tǒng)人工客服 400電話申請辦理 商丘外呼系統(tǒng)好處 全國各省地圖標注點 福建高頻外呼防封系統(tǒng)哪家好 網(wǎng)絡電話400申請 周口網(wǎng)絡回撥外呼系統(tǒng) 百度地圖標注類型是酒店 隨州銷售電銷機器人公司

yii2在使用的時候,訪問控制器的時候,如果控制器的名稱是駝峰命名法,那訪問的url中要改成橫線的形式。例如:

public function actionRoomUpdate()
{
//
}
//訪問的時候就要www.test.com/room-update這樣訪問

最近在做某渠道的直連的時候,他們提供的文檔上明確指出接口的形式:

剛開始以為YII2中肯定有這樣的設置,然后就去google了下,發(fā)現(xiàn)都說不行,自己去看了下,果然,框架里面直接是寫死的:(源碼)\vendor\yiisoft\yii2\base\Controller.php

/**
  * Creates an action based on the given action ID.
  * The method first checks if the action ID has been declared in [[actions()]]. If so,
  * it will use the configuration declared there to create the action object.
  * If not, it will look for a controller method whose name is in the format of `actionXyz`
  * where `Xyz` stands for the action ID. If found, an [[InlineAction]] representing that
  * method will be created and returned.
  * @param string $id the action ID.
  * @return Action the newly created action instance. Null if the ID doesn't resolve into any action.
  */
 public function createAction($id)
 {
  if ($id === '') {
   $id = $this->defaultAction;
  }
  $actionMap = $this->actions();
  if (isset($actionMap[$id])) {
   return Yii::createObject($actionMap[$id], [$id, $this]);
  } elseif (preg_match('/^[a-z0-9\\-_]+$/', $id)  strpos($id, '--') === false  trim($id, '-') === $id) {
   $methodName = 'action' . str_replace(' ', '', ucwords(implode(' ', explode('-', $id))));
   if (method_exists($this, $methodName)) {
    $method = new \ReflectionMethod($this, $methodName);
    if ($method->isPublic()  $method->getName() === $methodName) {
     return new InlineAction($id, $this, $methodName);
    }
   }
  }
  return null;
 }

這點有點low,不過問題倒不大,這個代碼很容易理解,我們發(fā)現(xiàn),其實如果在這個源碼的基礎上再加上一個else就可以搞定,但是還是不建議直接改源碼。

由于我們的項目用的事yii2的advanced版本,并且里面有多個項目,還要保證其他項目使用正常(也就是個別的控制器才需要使用駝峰命名的方式訪問),這也容易:

我們可以寫個components處理:\common\components\zController.php

?php
/**
 * Created by PhpStorm.
 * User: Steven
 * Date: 2017/10/26
 * Time: 16:50
 */
namespace common\components;
use \yii\base\Controller;
use yii\base\InlineAction;
class zController extends Controller //這里需要繼承自\yii\base\Controller
{
 /**
  * Author:Steven
  * Desc:重寫路由,處理訪問控制器支持駝峰命名法
  * @param string $id
  * @return null|object|InlineAction
  */
 public function createAction($id)
 {
  if ($id === '') {
   $id = $this->defaultAction;
  }
  $actionMap = $this->actions();
  if (isset($actionMap[$id])) {
   return \Yii::createObject($actionMap[$id], [$id, $this]);
  } elseif (preg_match('/^[a-z0-9\\-_]+$/', $id)  strpos($id, '--') === false  trim($id, '-') === $id) {
   $methodName = 'action' . str_replace(' ', '', ucwords(implode(' ', explode('-', $id))));
   if (method_exists($this, $methodName)) {
    $method = new \ReflectionMethod($this, $methodName);
    if ($method->isPublic()  $method->getName() === $methodName) {
     return new InlineAction($id, $this, $methodName);
    }
   }
  } else {
   $methodName = 'action' . $id;
   if (method_exists($this, $methodName)) {
    $method = new \ReflectionMethod($this, $methodName);
    if ($method->isPublic()  $method->getName() === $methodName) {
     return new InlineAction($id, $this, $methodName);
    }
   }
  }
  return null;
 }
}

ok ,這就可以支持使用駝峰形式訪問了,當然這個的形式很多,也可以寫成一個控制器,然后其它控制器繼承這個控制器就行了,但是原理是一樣的

如果使用?  是需要用駝峰命名形式訪問的控制器中,繼承下這個zController就可以了,

?php
/**
 * Created by PhpStorm.
 * User: Steven
 * Date: 2017/10/18
 * Time: 15:57
 */
namespace backend\modules\hotel\controllers;
use yii\filters\AccessControl;
use yii\filters\ContentNegotiator;
use yii\web\Response;
use common\components\zController;
class QunarController extends zController
{
 public $enableCsrfValidation = false;
 public function behaviors()
 {
  $behaviors = parent::behaviors();
  unset($behaviors['authenticator']);
  $behaviors['corsFilter'] = [
   'class' => \yii\filters\Cors::className(),
   'cors' => [ // restrict access to
    'Access-Control-Request-Method' => ['*'], // Allow only POST and PUT methods
    'Access-Control-Request-Headers' => ['*'], // Allow only headers 'X-Wsse'
    'Access-Control-Allow-Credentials' => true, // Allow OPTIONS caching
    'Access-Control-Max-Age' => 3600, // Allow the X-Pagination-Current-Page header to be exposed to the browser.
    'Access-Control-Expose-Headers' => ['X-Pagination-Current-Page'],
   ],
  ];
  //配置ContentNegotiator支持JSON和XML響應格式
  /*$behaviors['contentNegotiator'] = [
   'class' => ContentNegotiator::className(), 'formats' => [
    'application/xml' => Response::FORMAT_XML
   ]
  ];*/
  $behaviors['access'] = [
   'class' => AccessControl::className(),
   'rules' => [
    [
     'ips' => ['119.254.26.*', //去哪兒IP訪問白名單
      '127.0.0.1','106.14.56.77','180.168.4.58' //蜘蛛及本地IP訪問白名單
     ], 'allow' => true,
    ],
   ],
  ];
  return $behaviors;
 }
}
?>

示例:

/**
  * Author:Steven
  * Desc:酒店靜態(tài)數(shù)據(jù)接口
  */
 public function actiongetFullHotelInfo()
 {
 }

訪問的時候url為www.test.com/getFullHotelInfo

總結(jié)

以上所述是小編給大家介紹的Yii2使用駝峰命名的形式訪問控制器,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • 詳解PHP的Yii框架中的Controller控制器
  • Yii2創(chuàng)建控制器(createController)方法詳解
  • yii2控制器Controller Ajax操作示例
  • Yii2使用$this->context獲取當前的Module、Controller(控制器)、Action等
  • Yii2設置默認控制器的兩種方法
  • Yii控制器中操作視圖js的方法
  • Yii控制器中filter過濾器用法分析
  • Yii2使用駝峰命名的形式訪問控制器(實例講解)
  • Yii2框架控制器、路由、Url生成操作示例
  • yii2 在控制器中驗證請求參數(shù)的使用方法
  • Yii 框架控制器創(chuàng)建使用及控制器響應操作示例

標簽:佛山 樂山 迪慶 六安 定西 南寧 十堰 海南

巨人網(wǎng)絡通訊聲明:本文標題《Yii2使用駝峰命名的形式訪問控制器的示例代碼》,本文關(guān)鍵詞  Yii2,使用,駝峰,命名,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Yii2使用駝峰命名的形式訪問控制器的示例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于Yii2使用駝峰命名的形式訪問控制器的示例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品一区二区在线播放| 亚洲专区一二三| 久久久久亚洲蜜桃| 亚洲色图制服诱惑| 极品少妇xxxx精品少妇偷拍| 色综合激情五月| 精品欧美一区二区三区精品久久| 欧美激情一区二区在线| 日韩欧美国产精品一区| 亚洲一区日韩精品中文字幕| 国产一区二区不卡老阿姨| 欧美性大战久久久久久久| 精品国产乱码久久久久久久 | 亚洲天堂福利av| 毛片av一区二区三区| 亚洲香肠在线观看| 高清av一区二区| 欧美日韩一区三区四区| 国产精品久久久久婷婷| 国产婷婷一区二区| 国产一区二区三区四| 日本道精品一区二区三区 | 亚洲va在线va天堂| 久久影院午夜论| 一区二区三区在线视频观看| 精品乱人伦小说| 国产亚洲精品中文字幕| 欧美日韩视频在线观看一区二区三区| 日韩精品最新网址| 日av在线不卡| 久久在线免费观看| 国产黄色精品网站| 久久精品亚洲乱码伦伦中文| 日本午夜精品视频在线观看| 欧美日韩亚洲另类| 亚洲综合色视频| 99久久综合色| 国产精品日韩成人| 国产一区999| 在线91免费看| 狠狠色丁香久久婷婷综| 国产人伦精品一区二区| 91丨九色porny丨蝌蚪| 亚洲自拍欧美精品| 日韩免费成人网| 国产69精品久久99不卡| 国产偷国产偷亚洲高清人白洁| 国产在线视频一区二区| 久久久久亚洲蜜桃| 99久久99精品久久久久久| 一区二区在线看| 4438x成人网最大色成网站| 免费成人在线网站| 日韩欧美另类在线| 国产福利一区在线| 亚洲欧美日韩国产一区二区三区| 欧美精品自拍偷拍| 免费人成在线不卡| 日韩久久一区二区| 成人福利视频网站| 91精品国产一区二区三区香蕉| 亚洲欧美日韩国产一区二区三区| 91麻豆精品国产| 国产69精品一区二区亚洲孕妇| 亚洲自拍都市欧美小说| 欧美大片一区二区| 欧美亚洲免费在线一区| 免费在线看成人av| 国产精品久久久久影视| 欧美一区二区三区视频免费播放| 成人性生交大片免费看中文网站| 国产亚洲精品aa午夜观看| 色天天综合久久久久综合片| 免费国产亚洲视频| 国产女同互慰高潮91漫画| 制服.丝袜.亚洲.中文.综合| 另类小说色综合网站| 一级中文字幕一区二区| 久久久久国色av免费看影院| 国产精品自在在线| 亚洲伦在线观看| 久久久不卡影院| 日韩视频免费直播| 欧美视频中文字幕| 色呦呦国产精品| 成人h动漫精品| 国产精品综合av一区二区国产馆| 国产精品久久福利| 欧美国产一区视频在线观看| 精品少妇一区二区三区日产乱码 | 欧美日韩免费视频| 在线观看不卡一区| 色av成人天堂桃色av| 色婷婷精品久久二区二区蜜臂av| 国产成人自拍网| 国产suv精品一区二区6| 国产乱码精品1区2区3区| 国产主播一区二区三区| 国产精品资源站在线| 国产精品综合在线视频| 日韩在线播放一区二区| 中文字幕一区二区三区四区| 久久午夜电影网| 精品国精品国产尤物美女| 欧美一级二级在线观看| 日韩欧美电影一二三| 日韩精品一区二| 久久久美女毛片| 在线成人av网站| 毛片av一区二区| 国产福利一区二区| 婷婷久久综合九色综合绿巨人| 天天综合天天做天天综合| 日本va欧美va精品发布| 黑人精品欧美一区二区蜜桃| 国产成人综合在线播放| av一二三不卡影片| 一本大道久久a久久综合| 欧美午夜一区二区三区| 精品国产99国产精品| 国产精品久久久一本精品| 国产三级精品在线| 精品sm在线观看| 日韩激情视频在线观看| 国模套图日韩精品一区二区 | 欧美日韩国产美| 久久天天做天天爱综合色| 亚洲丝袜精品丝袜在线| 午夜欧美大尺度福利影院在线看| 免费成人在线网站| 99re视频这里只有精品| 欧美日韩欧美一区二区| 亚洲精品在线电影| 亚洲一区二区在线播放相泽 | 夜夜夜精品看看| 久久99日本精品| 91在线国产福利| 精品免费99久久| 一区二区三区在线视频观看58| 久久99精品国产麻豆不卡| 国产综合一区二区| 精品污污网站免费看| 91精品国产综合久久精品性色| 成人综合激情网| 欧美成人综合网站| 一区二区三区中文在线| 精品一区二区在线视频| 在线视频一区二区三| 久久久精品免费免费| 亚洲成人激情综合网| 成人av片在线观看| 精品久久一区二区三区| 午夜精品福利视频网站| 色婷婷综合激情| 国产精品视频九色porn| 蜜臀精品一区二区三区在线观看| 91同城在线观看| 国产日韩视频一区二区三区| 免费亚洲电影在线| 欧美日韩不卡视频| 日韩精品亚洲一区| 久久蜜臀精品av| 色一区在线观看| 免费日本视频一区| 国产午夜精品久久| 欧美日韩视频专区在线播放| 狠狠狠色丁香婷婷综合激情| 国产精品国产精品国产专区不蜜| 91蜜桃在线免费视频| 亚洲第一会所有码转帖| 国产精品污www在线观看| 欧美综合一区二区三区| 久热成人在线视频| 18涩涩午夜精品.www| 3751色影院一区二区三区| 国产乱色国产精品免费视频| 一区二区欧美视频| 久久久亚洲精华液精华液精华液| 色国产综合视频| 国产福利精品导航| 天天综合色天天综合色h| 中文字幕精品—区二区四季| 欧美日韩精品一区二区三区| 国产成人一区在线| 蜜臀av性久久久久蜜臀aⅴ| 亚洲精品高清在线| 久久美女艺术照精彩视频福利播放| 欧洲生活片亚洲生活在线观看| 狠狠色丁香婷婷综合久久片| 亚洲一区二区三区四区在线观看| 久久精品一区二区三区四区| 欧美一区二区三区在线观看视频| 91麻豆高清视频| 不卡视频在线观看| 国产高清久久久| 国产91精品一区二区| 国产尤物一区二区在线| 日韩高清一区二区| 日本成人在线网站| 五月婷婷另类国产|