为什么laravel新建对象Container 会自动注入instance?在什么节点注入的

发布于 2022-09-11 23:45:37 字数 65 浏览 16 评论 0

image.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

为人所爱 2022-09-18 23:45:37

因为他是静态的,全局性的,在调用你这个 new Container 之前,内核已经调用过了,这个 $instance 就已经存在了。

clipboard.png

class A
{
    protected static $member;

    /**
     * @return mixed
     */
    public static function getMember()
    {
        return self::$member;
    }

    /**
     * @param  mixed  $member
     */
    public static function setMember($member): void
    {
        self::$member = $member;
    }
}

$a = new A();
$a::setMember(1);
var_dump($a::getMember());// 1

$b = new A();// 这里从新实例化了 A,如果是非静态成员,这里的 $member 就应该是 NULL 。
var_dump($b::getMember());// 1
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文