一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

thinkphp控制器調(diào)度使用示例

1.如何通過(guò)地址欄參數(shù)來(lái)得到模塊名稱和控制器名稱(即使在有路由和開(kāi)了重寫(xiě)模塊的情況下)

2.tp是如何實(shí)現(xiàn)前置,后置方法功能模塊,和如何執(zhí)行帶參數(shù)的方法?

php系統(tǒng)自帶的 ReflectionClass,ReflectionMethod 類(lèi),可以反射用戶自定義類(lèi)的中屬性,方法的權(quán)限和參數(shù)等信息,通過(guò)這些信息可以準(zhǔn)確的控制方法的執(zhí)行

ReflectionClass主要用的方法: 
hasMethod(string)  是否存在某個(gè)方法
getMethod(string)   獲取方法

ReflectionMethod 主要方法: 
getNumberOfParameters()  獲取參數(shù)個(gè)數(shù)
getParamters()  獲取參數(shù)信息

3.代碼演示

復(fù)制代碼 代碼如下:
<?php 
class IndexAction{
 public function index(){
   echo 'index'."/r/n";
 }
 public function test($year=2012,$month=2,$day=21){
   echo $year.'--------'.$month.'-----------'.$day."/r/n";
 }
 public function _before_index(){
   echo __FUNCTION__."/r/n";
 }
 public function _after_index(){
   echo __FUNCTION__."/r/n";
 }
}

//執(zhí)行index方法
$method = new ReflectionMethod('IndexAction','index');
//進(jìn)行權(quán)限判斷
if($method->isPublic()){
 $class = new ReflectionClass('IndexAction');
 //執(zhí)行前置方法
 if($class->hasMethod('_before_index')){
  $beforeMethod = $class->getMethod('_before_index');
  if($beforeMethod->isPublic()){
   $beforeMethod->invoke(new IndexAction);
  }
 }

 $method->invoke(new IndexAction);

 //執(zhí)行后置方法
 if($class->hasMethod('_after_index')){
  $beforeMethod = $class->getMethod('_after_index');
  if($beforeMethod->isPublic()){
   $beforeMethod->invoke(new IndexAction);
  }
 }
}


//執(zhí)行帶參數(shù)的方法
$method = new ReflectionMethod('IndexAction','test');
$params = $method->getParameters();
foreach($params as $param ){
 $paramName = $param->getName();
 if(isset($_REQUEST[$paramName]))
  $args[] = $_REQUEST[$paramName];
 elseif($param->isDefaultValueAvailable())
  $args[] = $param->getDefaultValue();
}
if(count($args)==$method->getNumberOfParameters())
 $method->invokeArgs(new IndexAction,$args);
else
 echo 'parameters is not match!';

php技術(shù)thinkphp控制器調(diào)度使用示例,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国内精品久久久久影院网站 | 色婷婷久久综合中文久久一本 | 97国产大学生情侣11在线视频 | 久久久精品久久久久久 | 日韩一级二级三级 | 最近中文字幕无吗免费视频 | 久久久久久久久女黄 | 欧美精品在线免费观看 | 国产成人一区二区视频在线观看 | 91精品啪在线观看国产18 | 国产一区二区成人 | 激情综合图区 | 激情视频激情小说激情图片 | 欧美另类xxx精品人妖 | 欧美在线观看黄色 | 亚洲精品tv久久久久久久久久 | 很黄很黄叫声床戏免费视频 | 二区在线播放 | 男人狂躁戳女人下免费看 | 俄罗斯freexxxx性特大另类 | 欧美综合视频 | 日韩图色| 国产精品美女久久久久网站 | 国内精品91久久久久 | 广东东莞一级毛片免费 | 四虎4hu新地址入口 四虎4hu亚洲精品 | 大香伊人久久 | 91热国内精品永久免费观看 | 米奇7777狠狠狠狠视频影院 | 欧美大尺度无遮挡性视频 | 91麻豆国产精品91久久久 | 亚色中文字幕 | 欧美综合视频在线 | 成人精品视频在线 | 精品一区二区三区的国产在线观看 | 在线视频精品免费 | 国产精品一区二区三区四区五区 | 国产原创精品 | 国产成人精品s8p视频 | 国内自拍视频在线看免费观看 | 性欧美4k高清精品 |