【问题标题】:Getting static object reference from object container and calling its method from within another object从对象容器获取静态对象引用并从另一个对象中调用其方法
【发布时间】:2019-12-21 01:13:56
【问题描述】:

我有这个“容器”类来保存对各种对象(实用程序、日志等)的静态引用。

例如:“log”对象被“设置”到这个容器类中的静态变量$Log中。

然后我可以通过以下方式访问它:
Container::get("Log")->debug("something to debug");

一切正常,但现在我想在另一个对象的方法中进行这样的调用。没有报告错误,但我也没有记录任何内容。

我假设调用容器类的静态“get”方法会返回引用的对象,我可以调用它的公共方法。我假设错了吗?显然有些东西超出了这里的范围,我只是不明白是什么以及为什么。

【问题讨论】:

    标签: php class methods scope static


    【解决方案1】:

    我假设调用容器类的静态“get”方法 返回引用的对象,我可以调用它的公共方法。我是不是 假设错了?

    你是对的。在 PHP 中,对象总是通过引用传递。这意味着您可以获取一个对象并根据需要使用它。

    $log = Container::get("Log");
    $log->someMethod();
    

    【讨论】:

    • 我的错。它按照我的假设工作。我刚刚遇到了一些致命的解析错误,并且由于不同的原因而失败了:) 一切正常。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-02-18
    • 2022-12-09
    • 2014-10-08
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 2013-05-23
    • 1970-01-01
    相关资源
    最近更新 更多