如何解决尝试从post rquest访问Request属性以登录数据库PHP Slim 3
尝试访问受保护的属性Slim \ Http \ Request :: $ attributes,但出现错误提示
Cannot access protected property Slim\Http\Request::$attributes
如何从发帖请求中访问这些内容。这是我的帖子
$this->post('/error/log',function ($request,$response,$arg){
$parsedBody = (object)$request->getParsedBody();
$this->logger->info("Slim-Skeleton '/api/v1/error/log' route");
if ( $this->has('ErrorLogService') ) {
$requestObj = new \stdClass();
$requestObj->data = new \stdClass();
$requestObj->request = $request;
$requestObj->data = $parsedBody;
$resultData = $this->ErrorLogService->saveErrors($requestObj);
}
$http_header = array_key_exists('validation_errors',$resultData ) ? 400 : 200;
$http_header = array_key_exists('error',$resultData ) ? 200 : $http_header;
//var_dump($http_header);die();
$json = unserialize(str_replace(array('NAN;','INF;'),'0;',serialize($resultData)));
return $response->withJson($json,$http_header,JSON_UNESCAPED_SLASHES);
})->add(new Authentication())->setName('error-log');
解决方法
尽管您发布的错误消息还不完整,但我想当您尝试记录错误时会出现问题:
df %>% mutate(column2 = case_when(str_detect(Column1,'[0-9]{1,2}[\\/-]\\d{1,2}[\\/-]\\d{4}.*') ~ lead(Column1),TRUE ~ NA_character_))
Column1 column2
1 30/1/2020 21:03:34-This date is updated by John please check the date
2 please check the date <NA>
3 30-01-2020 21:03:34 Data is safe
4 Data is safe <NA>
5 Database error <NA>
此处的$requestObj->request = $request;
...
$resultData = $this->ErrorLogService->saveErrors($requestObj);
变量表示HTTP请求,并且是$request
的实例。作为Slim\Http\Request
的属性,它被传递到日志服务。
是$requestObj
试图访问受保护的属性吗?可能其中有些“魔术”试图保留整个对象及其每个属性。
在这种情况下,您可以通过以下方法解决问题:
- 重新考虑应该真正记录有关HTTP请求的哪些信息。
- 更改尝试访问非公共属性的代码。
我建议您选择第一个选项,因为我知道Slim请求对象包含过多的信息,远远超出了您想要记录的范围。用ErrorLogService
检查自己。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。