使用class exists的注意點我提煉了一下

2021-08-18 18:03:19 字數 1269 閱讀 9769

一次偶然的機會 讓我看tp原始碼的時候 我發現了class_exists的用法  其中有很多的細節需要大家知道。

這個函式 大家都知道是判斷乙個類是否被定義。

這是官網的說明 大家用的時候 可能都是這樣

if(class_exists($class))

類似這種**片段

第二個引數 大家也知道一下 就是預設真 ,表示是否執行autoload函式,我們一般關閉它。

要想讓這個函式返回true必須滿足2個條件

第一 你在調這個函式的時候,你在這之前必須inlcude這個類檔案

第二 第乙個引數你必須寫上這個類的完全限定名 否則報錯。

下面我舉例說明

假設乙個類是這樣的

1.php

<?php 

namespace sp;

class smp

呼叫的地方

<?php 

require '1.php';

var_dump(class_exists('smp',false));

列印結果

返回false 說明咱這個引數給的不對。我需要給完全限定名去找

<?php 

require '1.php';

var_dump(class_exists('sp\smp',false));

列印結果

這樣就對了。

還有一點就是 我們需要引入檔案 ,我實驗一小,我注釋引用

<?php 

//require '1.php';

var_dump(class_exists('sp\smp',false));

列印結果

看到沒  儘管我語法上沒有任何錯誤 ,都返回假。說明需要先引入類檔案。

WindowsFormsHost的使用注意

一使用1引用 2xmlns wfi clr namespace system.windows.forms.integration assembly windowsformsintegration xmlns wf clr namespace system.windows.forms assembly...

Hystrix dashboard的使用注意事項

hystrix 服務監控面板如何與被監控服務對接起來 他其實是個三合一註解,包含了如下三個註解 放到啟動類中即可,注意 hystrix.stream 乙個字都不能錯 for dashboard bean public servletregistrationbean hystrixmetricsstr...

ios NSUserDefaults使用注意事項

nsuserdefaults適合儲存輕量級的資料,他不僅可以儲存基本資料型別,還可以儲存nsnumber integer float double nsstring,nsdate,nsarray,nsdictionary,bool型別。nsuserdefaults standarduserdefau...