为了账号安全,请及时绑定邮箱和手机立即绑定

不支持命名空间的项目,怎么调用命名空间类

不支持命名空间的项目,怎么调用命名空间类

PHP
30秒到达战场 2019-03-11 23:48:11
我的项目是以前的老项目,现在需要增加手机验证码功能,我去下载的阿里大于的sdk 都是有命名空间的,我试这直接引入那个类然后实例化,就直接500了我卡在这里了!
查看完整描述

4 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

你不说什么编程语言,怎么帮你。。。


抱歉,没看标签。

php的话,我接触不深,查了一下命名空间是5.3以后的,下面的内容希望可以帮到你
但是关于版本方面,我可以给一些参考。
我们线上的php版本本来是5.3现在升级到了5.6,
后续在升级7.0还是换go栈当中考虑。

给予一定建议的话:
如果你们线上用的php版本,
低于5.0,那么你们的代码应该考虑大的重构来适应新版本了。
在5.0以后的话,升级成本比较低,很容易升级成5.3以上的版本。
我的建议是首先考虑升级,如果不升级,就改阿里的SDK的代码吧,之前我简单看过源码,改动成本不高,也不低,因为代码就那么多行,功能也就那么多。但是语法向下兼容的改动还是很费劲的。

其他我也没什么好办法。

查看完整回答
反对 回复 2019-03-18
?
动漫人物

TA贡献1815条经验 获得超10个赞

你的项目没有使用命名空间那么默认都是在全局命名空间的。即在“\”下面
所以你当前有两种方法引用
1.在你需要引用的页面顶部使用use引入
2.在程序运行的时候引入,但是要在命名空间前加上“\”
如果还不行请把报错的代码贴出来看看

查看完整回答
反对 回复 2019-03-18
?
浮云间

TA贡献1829条经验 获得超4个赞

将文件include进来,然后查看那个类所在命名空间,在类名前面写全命名空间即可
<test.class.php>
namespace fff\ttt;
class test
{
    public function __construct()
    {
        var_dump(__FUNCTION__);
    }
}

<ttt.php>
include "test.class.php";
new \fff\ttt\test();
查看完整回答
反对 回复 2019-03-18
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

https://img1.sycdn.imooc.com//5c8f573a0001204804760145.jpg

在实例化上面的能输出 下面的就无法输出了

https://img1.sycdn.imooc.com//5c8f573b000119f703860061.jpg

这个是引用的

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 424 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信