通過查看 Exception 類的源碼可以知道, $message 屬性使用 protect 修飾, 且沒有提供 setMessage 方法。
對于 Exception 實例應(yīng)該怎么修改 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通過反射修改Exception實例的message屬性的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
網(wǎng)站欄目:php中Exception實例應(yīng)該怎么修改message?-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://chinadenli.net/article10/dehdgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、ChatGPT、企業(yè)網(wǎng)站制作、商城網(wǎng)站、做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容