第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

[php]請問當(dāng)存在命名空間的時候, function_exists 是如何工作的?

[php]請問當(dāng)存在命名空間的時候, function_exists 是如何工作的?

慕無忌1623718 2018-07-03 10:26:03
學(xué)習(xí)命名空間的時候,遇到了坑,就是其中有些方法定義了卻找不到?jīng)]有命名空間的時候<?phpclass A {    function index () {        function asd (){}         var_dump(function_exists('asd'));     } }class Test extends A {    function doLogin () {        function bbb () {}         var_dump(function_exists('bbb'));     } } $test = new Test(); $test->index();   // bool(true)$test->doLogin(); // bool(true)有命名空間的時候<?phpnamespace Core;class A {    function index () {        function asd (){}         var_dump(function_exists('asd'));     } }namespace App;use Core\A;class Test extends A {    function doLogin () {        function bbb () {}         var_dump(function_exists('bbb'));     } } $test = new Test(); $test->index();    // bool(false)$test->doLogin();  // bool(false)請問為什么呢,怎么在有命名空間的時候得到 bool(true) 呢?
查看完整描述

3 回答

?
炎炎設(shè)計

TA貢獻(xiàn)1808條經(jīng)驗 獲得超4個贊

沒有命名空間時,函數(shù)是注冊到全局函數(shù)表中,有命名空間后,命名空間下的函數(shù)帶有命名空間注冊到全局函數(shù)表中
function_exists("funname");是去全局函數(shù)表中查找函數(shù)是否存在
有命名空間的情況下,在函數(shù)名稱前加上命名空間即可

var_dump(function_exists('\Core\asd'));//bool(true)
var_dump(function_exists('\App\bbb'));//bool(true)


查看完整回答
反對 回復(fù) 2018-07-03
?
qq_花開花謝_0

TA貢獻(xiàn)1835條經(jīng)驗 獲得超7個贊

var_dump(function_exists('Core\asd'));


查看完整回答
反對 回復(fù) 2018-07-03
?
茅侃侃

TA貢獻(xiàn)1842條經(jīng)驗 獲得超21個贊

這么有緣,我也叫小白 
第一次為什么全是true,原因是在同一個空間下,當(dāng)然可以相互讀取到函數(shù)或者方法

但是第二次為什么不行呢 首先你給A類命名空間是Core,那么function asd()當(dāng)然也屬于這個命名空間了,但是你還是用以前的方法去讀取他,怎么可能讀取到呢 ,正確的判斷方法是
var_dump(function_exists('\Core\asd'));
下面那個同理


查看完整回答
反對 回復(fù) 2018-07-03
  • 3 回答
  • 0 關(guān)注
  • 1277 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號