大概196行左右,修改\think\app类中invokeMethod方法:
将最后一行改为如下代码:
/*[20170707 增加结束方法]
return $reflect->invokeArgs(isset($class) ? $class : null, $args);*/
##所有_开始的方法将不可以通过URL访问,提高安全性
if(substr($method[1],0,1) === '_') throw new HttpException(404, 'method not exists:' . get_class($class) . '->' . $method[1] . '()');
$return = $reflect->invokeArgs(isset($class) ? $class : null, $args);
if(is_callable([$class,'_finish'])){
return $class->_finish();
}else{
return $return ;
}
这样可以在每个请求完成一个执行一个function来完成更多逻辑最佳答案
