当前位置:  开发笔记 > 编程语言 > 正文

PHP5:在方法参数中指定数据类型

如何解决《PHP5:在方法参数中指定数据类型》经验,为你挑选了1个好方法。

我有一个看起来像这样的功能

class NSNode {
    function insertAfter(NSNode $node) {
        ...
    }
}

我希望能够使用该函数来指示节点是在开始时插入的,因此它什么也没有.我想到的方式null就是"没有",所以我会像这样写我的函数调用:

$myNode->insertAfter(null);

除了PHP抛出一个错误,说它期待一个NSNode对象.我想坚持在我的函数中使用严格的数据类型,但希望能够指定null-esque值.

因此,如果没有将其更改为function insertAfter($node) { },有没有办法可以将其他内容传递给该函数?


更新:我接受了欧文的答案,因为它回答了问题本身.其他人的建议都非常好,我将在这个项目中实施它们,谢谢!



1> Owen..:

当然,只需设置默认值"null"

function(NSNode $node = null) {
// stuff....
}

结果是:

$obj->insertAfter(); // no error
$obj->insertAfter(new NSNode); // no error
$obj->insertAfter($somevar); // error expected NSNode

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有