首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  PHP

关于命名空间的问题,请教大家。

  •  
  •   Nicolay · 105 天前 · 1103 次点击
    这是一个创建于 105 天前的主题,其中的信息可能已经有所发展或是发生改变。
    require_once('./service/Email.class.php');
    $ob = \Service\Email::getInstance();
    Email 类在 Service 命名空间下,为什么写成 $ob = Email::getInstance();会运行失败,不是已经把 email 类引入当前页面了么,为什么还要显式的写上命名空间。
    5 回复  |  直到 2019-06-09 13:41:09 +08:00
        1
    Nicolay   105 天前
    是在一个没有命名空间的 php 文件上书写如上的代码的。
        2
    ben1024   105 天前
    因为没有命名空间的 php 文件上书写,Email::getInstance 找不到对应域。
    所有要从根路径查询,
    如果不想这样使用先可以 use Service\Email 声明作用域;类内进行使用。
        3
    curiousjude   105 天前
    建议还是要好好去理解一下命名空间是要解决什么问题。

    你给的代码,如果我再同时引入一个命名空间为 \Xxx\Email 的类,你不指定命名空间,那到底是要用哪一个?
        4
    littleylv   105 天前
    建议先弄懂命名空间
        5
    weirdo   102 天前
    命名空间是命名空间
    和 include/require 是两码事
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1031 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 18ms · UTC 18:59 · PVG 02:59 · LAX 11:59 · JFK 14:59
    ♥ Do have faith in what you're doing.