【问题标题】:Which version of PHP introduced interfaces? [closed]哪个版本的 PHP 引入了接口? [关闭]
【发布时间】:2015-03-04 15:32:59
【问题描述】:

我很想在我的项目中使用接口,但不确定它们是否适用于 PHP 5.2 版(我必须支持)。

允许我在代码中使用接口的最低 PHP 版本是多少?

参考:http://php.net/manual/en/language.oop5.interfaces.php

【问题讨论】:

  • 如果您不确定,只需编写一个小类和接口并在您的目标系统上进行测试。
  • 在 PHP 5.3.9 之前,一个类不能实现两个指定同名方法的接口,因为这会导致歧义。只要重复的方法具有相同的签名,最新版本的 PHP 就允许这样做。 - 来自该页面。或者,您是否已经阅读了该内容并且没有回答您的问题?
  • @Fred-ii- 它并没有真正回答我的问题,因为它表明接口早于 5.3.9,但它没有给出版本。
  • @Fred-ii- 这句话专门针对多个接口,而不是接口的概念是否存在。
  • 我投票结束这个问题,因为它是关于阅读文档和/或测试它,而不是求助于社区来解决像这样容易测试的问题。

标签: php oop interface


【解决方案1】:

接口是在 php 5 中引入的!您可以在此处的手册中看到这一点:http://php.net/manual/en/oop5.intro.php

还有一段话:

PHP 5 的功能包括可见性、抽象和最终类和方法、附加的魔法方法、接口、克隆和类型提示。

你也可以在这里简单地测试它:http://3v4l.org/T2uJU 然后你也会在那里看到它

【讨论】:

    【解决方案2】:

    "Migrating from PHP 4 to PHP 5.0.x" 部分下的页面"New Functions" 列出了在 PHP 5.0 中添加的函数 get_declared_interfaces()。函数本身的文档页面上列出了相同的版本。

    interface_exists() 函数是在 PHP 5.0.2 上添加的,而 class_implements() 是在 PHP 5.1.0 上出现的。

    标准接口TraversableIterator 和其他一些出现在 PHP 5.0 上,而Countable 和更专业的迭代器出现在 PHP 5.1.0 上

    我认为您可以安全地使用 PHP 5.2 的接口。

    【讨论】:

    • 感谢@axiac 的回答。来自我的 +1。
    【解决方案3】:

    根据http://php.net/manual/en/migration5.oop.php 上的链接,PHP 5.0 版本引入了接口。

    【讨论】:

      猜你喜欢
      • 2021-09-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-15
      • 1970-01-01
      • 2021-09-15
      相关资源
      最近更新 更多