根据标题,在我的WordPress 4.8,PHP 7.1项目中,如果我在我的方法中使用类型声明,它们是严格的,而不是强制性的。但我没有声明使用严格的类型。
WordPress会将它设置在任何地方吗?我显然搜索了strict_types
这个词,却找不到任何东西。
可以全局启用吗?尽管我读过的所有内容都说无法完成?
更具体地说,我的方法签名是:
my_method(int $id, string $string)
我称之为:
my_method(123, null)
答案 0 :(得分:2)
假设您根据评论中的示例提出此问题,即使尚未启用strict typing,也无法将某些类型强制转换为其他类型。
例如,您的评论中的示例方法的无意义实现:
NSKeyedArchiver
为function my_method( int $id, string $string ) {
var_dump($id, $string);
}
参数传递null
值会导致TypeError,即使像
$string
可以在没有警告的情况下被强制指示类型。
由于您使用的是PHP 7.1,因此可以使用新的nullable type declaration来允许空值。
my_method(123, false); // int 123, string ''
my_method(123, 456); // int 123, string '456'