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

laravel 中遇到一个纠结的问题!

  •  
  •   xiaoyu9965 · 2015-06-10 19:02:32 +08:00 · 2719 次点击
    这是一个创建于 3486 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在laravel中:
    $a = "myClass";
    $b = new $a();
    //—— laravel 告诉我 myClass 找不到
    但是 我直接
    $b = new myClass();
    这样做没问题

    13 条回复    2015-06-10 20:09:15 +08:00
    xiaoyu9965
        1
    xiaoyu9965  
    OP
       2015-06-10 19:02:50 +08:00
    有同学遇到过这样的问题吗?
    haiyang416
        2
    haiyang416  
       2015-06-10 19:14:19 +08:00 via Android
    你需要完全限定名,包括命名空间。
    xiaoyu9965
        3
    xiaoyu9965  
    OP
       2015-06-10 19:40:49 +08:00
    @haiyang416
    即使在项目中我这样样子,依然无法找到对应的class
    $tmp = 'App\Handlers\Library\ks3\core\Signers\DefaultUserAgentSignerDefaultUserAgentSigner';
    $signer = new $tmp;
    haiyang416
        4
    haiyang416  
       2015-06-10 19:45:47 +08:00 via Android
    命名空间用绝对地址,前面那个斜杠加上再试试,如果还不行那你需要确认下自动加载里是否注册了这个类了。
    haiyang416
        5
    haiyang416  
       2015-06-10 19:46:59 +08:00 via Android
    最好看下自动加载失败的提示,看类名是否正确。
    mcfog
        6
    mcfog  
       2015-06-10 19:48:45 +08:00
    用::class语法不就完事儿了
    xiaoyu9965
        7
    xiaoyu9965  
    OP
       2015-06-10 19:51:27 +08:00
    @mcfog ::class 和字符串怎么用 eval ?
    xiaoyu9965
        8
    xiaoyu9965  
    OP
       2015-06-10 19:51:58 +08:00
    @mcfog 能给个示例吗?
    yyinsomnia
        9
    yyinsomnia  
       2015-06-10 19:53:58 +08:00
    because there is no difference between a qualified and a fully qualified Name inside a dynamic class name, function name, or constant name, the leading backslash is not necessary
    多看手册~
    xiaoyu9965
        10
    xiaoyu9965  
    OP
       2015-06-10 19:57:32 +08:00
    @yyinsomnia 方便给个地址吗?
    haiyang416
        11
    haiyang416  
       2015-06-10 19:59:04 +08:00 via Android
    xiaoyu9965
        12
    xiaoyu9965  
    OP
       2015-06-10 20:00:55 +08:00
    @yyinsomnia 你试试 跟你说的似乎不同
    xiaoyu9965
        13
    xiaoyu9965  
    OP
       2015-06-10 20:09:15 +08:00
    感谢大家的帮助,是我太悲剧了,名字拼写错误!谢谢大家
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2988 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 14:10 · PVG 22:10 · LAX 06:10 · JFK 09:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.