douxiuyu2028 2012-03-09 13:54
浏览 52
已采纳

如何在命名空间中使用变量?

I'm trying to dig up my long-lost PHP skills and have therefore stumbled on a problem. I have a function that initializes (not sure if it's a correct word for it) a class in the following fashion:

$foo = new \Master\Slave\$bar();

$bar is a defined class, obviously. But the entire thing doesn't work. This only seems to work when I do the following:

$foo = new $bar();

But with my first example, it outputs the following error:

unexpected T_VARIABLE, expecting T_STRING

Which means that I have to manually enter the class name, correct? But, what if I'm a stubborn nerd who doesn't want to and doesn't see the efficiency in it? Hence my question; how to pull this off without getting a bloody error?

UPDATE: Got the thing working with wrapping the \Master\Slave\$bar in a $variable. Not sure if it's the correct way of doing this, but it works and props go to Visual Idiot

  • 写回答

2条回答 默认 最新

  • dongnan1989 2012-03-09 13:58
    关注

    Variables never bound to any namespace they will be always in the global scope.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵