如何防止在PHP中使用不正确的类型?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了如何防止在PHP中使用不正确的类型?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
PHP,我们都知道是非常松散的类型.该语言不要求您为函数参数或类变量指定任何类型的类型.这可能是一个强大的功能.

但有时候,它可以使调试脚本成为一种痛苦的经历.例如,将一种对象传递给需要不同类型对象的方法可能会产生错误消息,抱怨传递的对象不存在某个变量/方法.这些情况大多是烦恼.更糟糕的问题是当您使用错误类的对象初始化一个对象时,并且直到稍后在脚本执行中才会使用“错误对象”.在这种情况下,您最终得到的错误要比通过原始参数的时间晚得多.

而不是抱怨我传递的内容没有特定的方法或变量,或者等待很久以后在脚本执行中为我传入的对象使用,我宁愿有一条错误消息,正好在我指定一个对象的地方错误的类型,抱怨对象的类型不正确或不兼容.

你如何处理代码中的这些情况?你如何检测不兼容的类型?如何在脚本中引入一些类型检查,以便我可以更容易理解错误消息?

另外,如何在PHP中考虑继承时如何做到这一切?考虑:

<?PHP
class InterfaceClass
{
#...
}

class UsesInterfaceClass
{
   function SetObject(&amp;$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) 
      {
      }
 }
 ?>

这也可以像你期望的那样正确地继承.

顺便说一句,不要在你的班级名字中加上“对象”这个词……

脚本宝典总结

以上是脚本宝典为你收集整理的如何防止在PHP中使用不正确的类型?全部内容,希望文章能够帮你解决如何防止在PHP中使用不正确的类型?所遇到的问题。

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

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