中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

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

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

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

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

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

ReflectionMethod 主要方法: 
getNumberOfParameters()  獲取參數(shù)個數(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');
//進行權(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)載需保留來源!

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

主站蜘蛛池模板: 免费在线a视频 | www久久久| 国产日韩一区二区三免费高清 | 国产亚洲一区二区在线观看 | 日韩av第一页 | 91国在线高清视频 | 亚洲午夜一区二区 | 亚洲九色 | 日韩午夜网站 | 亚洲视频二区 | 久久91精品久久久久久9鸭 | 中文字幕国产 | 在线观看国产www | 一本一道久久a久久精品蜜桃 | 毛片在线免费 | 中文字幕日韩三级 | 日韩欧美在线不卡 | 香蕉视频久久久 | 国产激情在线 | 免费看黄色小视频 | 久久久成人一区二区免费影院 | 天天操天天干天天爽 | 亚洲成人久久久 | 一区二区三区视频播放 | 精品免费国产视频 | 欧美日一区二区 | 精品九九| 成人国产毛片 | 看片91| 99re99| 欧美一区二区三区在线观看 | 精品久久久久久久 | 黄色在线观看网站 | 日韩一区二区在线观看 | 久久精品一级 | 久久香蕉网 | 欧美大片黄| 日本三级电影在线观看视频 | 一级黄色片在线看 | 五月天综合影院 | 亚洲精品成人av久久 |