public function setup()
{
$this->reader('request.key', function (Subject $subject, $key = null) {
$request = $this->_request();
if (!isset($request->{$key})) {
return null;
}
return $request->{$key};
});
$this->reader('request.data', function (Subject $subject, $key = null) {
$request = $this->_request();
return $request->data($key);
});
$this->reader('request.query', function (Subject $subject, $key = null) {
$request = $this->_request();
return $request->query($key);
});
$this->reader('entity.field', function (Subject $subject, $key = null) {
return $subject->entity->get($key);
});
$this->reader('subject.key', function (Subject $subject, $key = null) {
if (!isset($subject->{$key})) {
return null;
}
return $subject->{$key};
});
}