鍍金池/ 問答/PHP/ 不支持命名空間的項(xiàng)目,怎么調(diào)用命名空間類

不支持命名空間的項(xiàng)目,怎么調(diào)用命名空間類

我的項(xiàng)目是以前的老項(xiàng)目,現(xiàn)在需要增加手機(jī)驗(yàn)證碼功能,
我去下載的阿里大于的sdk 都是有命名空間的,
我試這直接引入那個(gè)類然后實(shí)例化,就直接500了
我卡在這里了!

回答
編輯回答
礙你眼

clipboard.png

在實(shí)例化上面的能輸出 下面的就無法輸出了

clipboard.png

這個(gè)是引用的

2017年6月20日 22:47
編輯回答
澐染

你不說什么編程語言,怎么幫你。。。


抱歉,沒看標(biāo)簽。

php的話,我接觸不深,查了一下命名空間是5.3以后的,下面的內(nèi)容希望可以幫到你
但是關(guān)于版本方面,我可以給一些參考。
我們線上的php版本本來是5.3現(xiàn)在升級(jí)到了5.6,
后續(xù)在升級(jí)7.0還是換go棧當(dāng)中考慮。

給予一定建議的話:
如果你們線上用的php版本,
低于5.0,那么你們的代碼應(yīng)該考慮大的重構(gòu)來適應(yīng)新版本了。
在5.0以后的話,升級(jí)成本比較低,很容易升級(jí)成5.3以上的版本。
我的建議是首先考慮升級(jí),如果不升級(jí),就改阿里的SDK的代碼吧,之前我簡單看過源碼,改動(dòng)成本不高,也不低,因?yàn)榇a就那么多行,功能也就那么多。但是語法向下兼容的改動(dòng)還是很費(fèi)勁的。

其他我也沒什么好辦法。

2017年11月29日 21:56
編輯回答
絯孑氣

你的項(xiàng)目沒有使用命名空間那么默認(rèn)都是在全局命名空間的。即在“\”下面
所以你當(dāng)前有兩種方法引用
1.在你需要引用的頁面頂部使用use引入
2.在程序運(yùn)行的時(shí)候引入,但是要在命名空間前加上“\”
如果還不行請把報(bào)錯(cuò)的代碼貼出來看看

2017年9月11日 14:08
編輯回答
傻丟丟
將文件include進(jìn)來,然后查看那個(gè)類所在命名空間,在類名前面寫全命名空間即可
<test.class.php>
namespace fff\ttt;
class test
{
    public function __construct()
    {
        var_dump(__FUNCTION__);
    }
}

<ttt.php>
include "test.class.php";
new \fff\ttt\test();
2018年9月13日 04:24