php通过反射修改Exception实例的message属性-php教程

资源魔 34 0

1e71d15e10b9ddea90af3c92f91958e.png

经过查看 Exception 类的源码能够晓得, $message 属性应用 protect 润饰, 且不提供 setMessage 办法。

关于 Exception 实例应该怎样修正 message 呢?谜底是: 反射!

$exception = new \Exception('haha');
$message = " - use reflection appended message";
$reflectionObject = new \ReflectionObject($exception);
$reflectionObjectProp = $reflectionObject->getProperty('message');
$reflectionObjectProp->setAccessible(true);
$reflectionObjectProp->setValue($exception, $exception->getMessage() . $message);
print_r($exception->getMessage());
haha - use reflection appended message

经过以上代码,能把 $exception 中的 $message 修正掉!反射无敌。。。

更多PHP相干常识,请拜访PHP教程!

以上就是php经过反射修正Exception实例的message属性的具体内容,更多请存眷资源魔其它相干文章!

标签: php php开发教程 php开发资料 php开发自学

抱歉,评论功能暂时关闭!