为函数参数提供类型有什么优势吗?
public static function DoStuff( string $str ) {
echo $str;
}
相对于不使用它们,有何区别?
public static function DoStuff( $str ) {
echo $str;
}
如果我声明我的类型,它可能会更快吗?
目前的PHP版本不支持指定标量类型,比如string或int。你只能指定类/接口或数组。
相关手册页面:Type Hinting。
我认为使用类型提示至少有一个好处:可读性更好。函数/方法需要什么参数更容易看出来。
一些人会认为这是一个缺点,即如果您不遵守类型提示并传递一些不符合类型的参数,您将得到一个可捕获的致命错误。然而:
如果你的问题是关于速度的:
总之,个人意见:我经常使用这些类型提示,因为:
一般来说,类型检查/类型提示是有益的,因为它为编译器/解释器提供了必要的信息以进行更好的错误检查。当你没有类型提示时,你的程序可能会在不生成描述性错误的情况下静默崩溃。
优点是,如果有人试图不正确地使用您的函数(例如使用一个类而不是另一个类,或者在应该使用数组时没有使用数组),则会立即出现错误。
但是,除了对象或数组之外,您无法做到这一点 - 因此,您使用字符串的示例将无法工作。
随着更多的检查发生,它几乎肯定会运行得更慢。
PHP对我来说有三个优点:
我不确定使用类型是否会提高性能。