亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在php中,有沒有辦法確定生成字符串時是否使用了 ::class ?

在php中,有沒有辦法確定生成字符串時是否使用了 ::class ?

PHP
30秒到達戰場 2022-10-09 17:28:36
以下兩個 return 語句將返回相同的字符串:getClassName(): string{    return MyClassName::class; // returns 'MyClassName'    return 'MyClassName';      // returns 'MyClassName'}我們也有調用這個方法的代碼。$className = getClassName();在我們調用這個方法的代碼中,有沒有什么方法可以判斷是否::class使用了 生成字符串?我們使用的 IDE 能夠檢測何時::class被使用,并且我們希望在編譯時以某種方式在我們的代碼中使用這個邏輯。
查看完整描述

1 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

IDE 可以查看源代碼并查看您使用的語法。他們使用它來提供提示、交叉引用以及他們在您編輯時所做的所有其他好事。


但是一旦代碼被編譯和運行,大部分信息就被丟棄了。值沒有任何關于它們是如何計算的信息——一個字符串只是一堆字符。反射特性允許您訪問調用堆棧以查看調用了哪些函數,因為這是在內存中實現返回所必需的,但數據不會跟蹤值的來源。


因此,沒有內置方法可以獲取您要查找的信息。如果您需要跟蹤這一點,則必須在應用程序代碼本身中實現它。


getClassName(): array

{

    return ['source' => '::class', 'value' => MyClassName::class];

    return ['source' => 'string', 'value' => 'MyClassName'];

}


查看完整回答
反對 回復 2022-10-09
  • 1 回答
  • 0 關注
  • 117 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號