如何防止在PHP中使用不正确的类型?
PHP,我们都知道是非常松散的类型.该语言不要求您为函数参数或类变量指定任何类型的类型.这可能是一个强大的功能.
但有时候,它可以使调试脚本成为一种痛苦的经历.例如,将一种对象传递给需要不同类型对象的方法可能会产生错误消息,抱怨传递的对象不存在某个变量/方法.这些情况大多是烦恼.更糟糕的问题是当您使用错误类的对象初始化一个对象时,并且直到稍后在脚本执行中才会使用“错误对象”.在这种情况下,您最终得到的错误要比通过原始参数的时间晚得多. 而不是抱怨我传递的内容没有特定的方法或变量,或者等待很久以后在脚本执行中为我传入的对象使用,我宁愿有一条错误消息,正好在我指定一个对象的地方错误的类型,抱怨对象的类型不正确或不兼容. 你如何处理代码中的这些情况?你如何检测不兼容的类型?如何在脚本中引入一些类型检查,以便我可以更容易理解错误消息? 另外,如何在Php中考虑继承时如何做到这一切?考虑: <?php class InterfaceClass { #... } class UsesInterfaceClass { function SetObject(&$obj) { // What do I put here to make sure that $obj either // is of type InterfaceObject or inherits from it } } ?> 然后,此代码的用户使用自己的具体类实现接口: <?php class ConcreteClass extends InterfaceClass { } ?> 我希望ConcreteClass实例以及所有未来的未知用户定义对象也可以被SetObject接受.如何在检查正确类型时允许这样做? 解决方法
实际上对于类,您可以在PHP(5)中提供类型提示.
<?php class UsesBaseClass { function SetObject(InterfaceObject $obj) { } } ?> 这也可以像你期望的那样正确地继承. 顺便说一句,不要在你的班级名字中加上“对象”这个词…… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |