php – 类型提示和多个构造函数
发布时间:2020-12-13 13:07:07 所属栏目:PHP教程 来源:网络整理
导读:我一直在研究 PHP7的新功能,并认为我可能会开始准备我的项目,因为它引入了新功能,如标量类型提示. 我遇到的第一个问题之一是我的各种类的构造函数.我有一些通用的控制器,其行为如下: public function __construct($data = null) { if (is_numeric($data)) {
我一直在研究
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类型: 这将允许你写int |漂浮|数组| string $data = null. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |