1、访问 /admin通过controller方法得不到对应Index控制器,action方法得不到对应index操作
2、get方法获取第一个参数是pathinfo,一般用不到,暂时去掉了
3、类似User::create($this->request->param); 会报错,原因就是get第一个参数是url地址,create中排除/符号报错了
app目录Request.php增加以下方法
/**
* 获取模块名称
* @return mixed
*/
public function module(){
return app('http')->getName();
}
/**
* 获取当前的控制器名
* @param bool $convert
* @return string
*/
public function controller(bool $convert = false): string {
$controller = parent::controller($convert);
$controller = empty($controller) ? $convert ? 'index' : 'Index' : $controller;
return $controller;
}
/**
* 获取当前的操作名
* @access public
* @param bool $convert 转换为小写
* @return string
*/
public function action(bool $convert = false): string {
$action = parent::action($convert);
$action = empty($action) ? $convert ? 'index' : 'Index' : $action;
return $action;
}
/**
* 获取当前请求的参数
* @param string $name
* @param null $default
* @param string $filter
* @return mixed
*/
public function get($name = '', $default = null, $filter = '') {
$data = parent::get($name,$default,$filter);
if(is_array($data)){
reset($data);
$firstKey = key($data);
if(substr_count($firstKey, '/')>0){ //去掉第一个数组
array_shift($data);
}
return $data;
}
return $data;
}