【问题标题】:Type-hinting return value/functions in PHPPHP中的类型提示返回值/函数
【发布时间】:2014-03-06 07:29:24
【问题描述】:

我做了一些研究,发现这个 RFC 讨论了 PHP 中函数的类型提示: https://wiki.php.net/rfc/returntypehint2

例如

public string getName()
{
    return 'martinmine';
}

将是有效的 PHP 代码。例如,在这种情况下,返回一个数组会产生错误。有谁知道 RFC 的状态,或者它是否被删除/添加?我似乎无法使上面的这个功能起作用。我正在使用 PHP 5.5.9。

【问题讨论】:

  • 还没有实现,而且那个RFC已经有一年了;据我所知,没有有效/当前的计划/投票来实现这一点。
  • @zerkms 如果可以的话,我会用 C# 编写它。
  • 我不明白你为什么要立即推荐其他语言。问题没有提到这一点。在那种情况下,我们都可以放弃 php 和 C# 或 python 或其他代码。这不是这里的问题。现在关于类型提示 - afaics 它还没有被介绍,但看 cmets - php.net/manual/en/language.oop5.typehinting.php
  • 没有添加返回值类型提示 - 在 PHP 5.5 和即将到来的 PHP 5.6 中都没有。目前在这个方向上没有积极的讨论(这是一个相当尖锐的话题;)
  • Hack 添加这样的类型提示

标签: php strong-typing type-hinting weak-typing


【解决方案1】:

返回类型的类型提示推迟到 PHP 7(截至this article),但语法与旧用途不同:

function foo(): array {
    return [];
}

但它已经在 PHP 5 中用于方法或函数的类型类参数(截至this article):

public function test_array(array $input_array) {
    print_r($input_array);
}

【讨论】:

    猜你喜欢
    • 2020-01-25
    • 1970-01-01
    • 2016-08-01
    • 2021-09-17
    • 2016-12-23
    • 2017-01-16
    • 2022-01-16
    • 2017-04-03
    相关资源
    最近更新 更多