当前位置: 首页 > 面试题库 >

新自我与新静态

邵阳
2023-03-14
问题内容

我正在将PHP 5.3库转换为可在PHP 5.2上使用。阻碍我前进的主要因素是使用后期静态绑定,例如return new static($options);,如果将其转换为,return new self($options)将会得到相同的结果吗?

new self和之间有什么区别new static


问题答案:

我会得到相同的结果吗?

并不是的。不过,我不知道针对PHP 5.2的解决方法。

new self和之间有什么区别new static

self指的new是实际写入关键字的同一类。

static在PHP 5.3的最新静态绑定中,指的是您在层次结构中调用方法的任何类。

在以下示例中,B从继承两个方法A。该self调用必然会A因为它在定义A的实现第一种方法的,而static必然要调用的类(见get_called_class())。

class A {
    public static function get_self() {
        return new self();
    }

    public static function get_static() {
        return new static();
    }
}

class B extends A {}

echo get_class(B::get_self());  // A
echo get_class(B::get_static()); // B
echo get_class(A::get_self()); // A
echo get_class(A::get_static()); // A


 类似资料:
  • 我正试图更新作曲家没有任何运气! 我所尝试的: [InvalidArgumentExc0019]命令"自我更新"未定义。 [InvalidArgumentExc0019]命令"自我更新"未定义。 读取包裹列表...完成构建依赖树读取状态信息...完成作曲家已经是最新的版本。以下软件包已自动安装,不再需要:libntdb1 linux-Headers-4.2.0-30 linux-Headers-4

  • 问题内容: 我编写了一个脚本,该脚本可以通过从网站上下载最新版本并覆盖正在运行的脚本来保持最新状态。 我不确定更新脚本后重新启动脚本的最佳方法是什么。 有任何想法吗? 我真的不想要一个单独的更新脚本。哦,它也必须在两个linux / windows上都可以工作。 问题答案: 在Linux或任何其他形式的Unix中,os.execl和它的朋友是一个不错的选择- 您只需要重新执行sys.executa

  • 问题内容: 如果将新文档索引到Elasticsearch索引,则可在索引操作后1秒钟左右搜索新文档。但是,可以通过调用或对索引进行操作来强制使该文档可立即搜索。这两个操作之间有什么区别- 结果似乎对他们来说是相同的,可以立即搜索文档。 这些操作中的每一项到底是什么? ES文档似乎并未深入解决此问题。 问题答案: 您得到的答案是正确的,但我认为值得详细说明。 刷新有效地调用了Lucene索引读取器上

  • 主要内容:最新自我介绍模板1,最新自我介绍模板2,最新自我介绍模板3最新自我介绍模板   来到一个完全陌生的环境,我们就有可能用到自我介绍,自我介绍是一种认识自我的手段。写起自我介绍来就毫无头绪?下面是小编收集整理的最新自我介绍模板,仅供参考,欢迎大家阅读。 最新自我介绍模板1   各位同学好,我是你们班的新数学老师,以后负责上你们班的数学课。大家对我相对不熟悉,但是我希望以后各位同学都支持我的工作,好好学习。   我的名字叫向南,很高兴我能成为一名老师,尤其是当

  • 问题内容: 我想更新一个表以指示某些行是其他行的父表,因此我在表中添加了“父代”列。以下查询查找所有父母: 但是当我尝试修改该语法以进行更新时,它不起作用: 我得到: 请注意,第7行第28列是“ SET”行的结尾。 问题答案: Oracle不支持语句中的子句。 用这个:

  • 主要内容:新生逗比个性自我介绍,1,新生逗比个性自我介绍2,新新生逗比个性自我介绍3,新生逗比个性自我介绍4,新生逗比个性自我介绍5,新生逗比个性自我介绍6,新生逗比个性自我介绍相关文章:新生逗比个性自我介绍6篇 当来到一个陌生环境中,我们通常会被要求作自我介绍,你是否在找自我介绍模板呢?下面小编给大家带来关于新生逗比个性自我介绍6篇,希望会对大家的工作与学习有所帮助。 新生逗比个性自我介绍 1 各位好,初中将要和大家一起学习,我很兴奋。  我叫___,我是个__岁的男孩,为什么叫男孩呢?因为我