php – 类型提示和多个构造函数

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 类型提示和多个构造函数脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在研究 PHP7的新功能,并认为我可能会开始准备我的项目,因为它引入了新功能,如标量类型提示.

我遇到的第一个问题之一是我的各种类的构造函数.我有一些通用的控制器,其行为如下:

public function __construct($data = null) {
    if (is_numeric($data)) {
        $this->controller->createById($data);
    }
    elseif (is_array($data)) {
        $this->controller->createByArray($data);
    }
    elseif (strlen($data) > 0) {
        $this->controller->createByUrl($data);
    }
}

引入此方法的类型提示当然会在所有方向上引发错误.

据我所知,PHP7不会引入对多个构造函数支持.有没有办法解决这个问题,或者这是语言的局限之一?

正确,这是该语言的局限之一.
(并且无论如何都无法通过类型检查strlen()> 0.这会自动转换为字符串…所以你的方法允许除了“”,null和false之外的所有内容?)

通常,草案中有Rfc来扩展PHP中的PHP类型:
https://wiki.php.net/rfc/union_types

这将允许你写int |漂浮|数组| string $data = null.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 类型提示和多个构造函数全部内容,希望文章能够帮你解决php – 类型提示和多个构造函数所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。