经过查看 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开发自学
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!