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

藏色散人
Freigeben: 2023-04-08 07:04:01
nach vorne
3251 Leute haben es durchsucht

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
Nach dem Login kopieren

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

更多PHP相关知识,请访问PHP教程

Das obige ist der detaillierte Inhalt vonphp通过反射修改Exception实例的message属性. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:lukachen.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!