是否可以写严格类型的PHP代码?

例如,是否可以像这样编写代码:

int $x = 6;
str $y = "hello world";
bool $z = false;
MyObject $foo = new MyObject();

是否可以定义这样的函数:

public int function getBalance()
{
   return 555; //Or any numeric value
}

编辑:这个答案适用于PHP 5.6及更早版本。 正如最近的答案中指出的那样,PHP 7.0和更高版本确实对此有所支持


原始答案:

没有。从php5开始支持类型提示,但“类型提示只能是对象和数组(自PHP 5.1起)类型,不支持使用int和string的传统类型提示”。

就目前来说,就像php一样,只要你问我就应该去。


在PHP 7中实现了“标量类型声明”,例如:

public function getBalance(): int {
    return 555;
}

你需要声明,你会使用严格的类型:

<?php
    declare(strict_types=1);

    function sum(int $a, int $b): int {
        return $a + $b;
    }

    sum(1, 2);
?>

更多信息:https://wiki.php.net/rfc/scalar_type_hints_v5


PHP不是严格键入的,所以没有。 也就是说,它的功能支持有限的类型暗示 - 尽可能接近它。

链接地址: http://www.djcxy.com/p/57623.html

上一篇: Is it possible to write strictly typed PHP code?

下一篇: How do I check if the request is made via AJAX in CodeIgniter?