public static function strictSet($class, $name)
{
$rc = new \ReflectionClass($class);
$hint = self::getSuggestion(array_merge(array_filter($rc->getProperties(\ReflectionProperty::IS_PUBLIC), function ($p) {
return !$p->isStatic();
}), self::parseFullDoc($rc, '~^[ \\t*]*@property(?:-write)?[ \\t]+(?:\\S+[ \\t]+)??\\$(\\w+)~m')), $name);
throw new MemberAccessException("Cannot write to an undeclared property {$class}::\${$name}" . ($hint ? ", did you mean \${$hint}?" : '.'));
}