在PHP中,您可以执行以下操作:
class Something {// bla bla}
function functionName(Something $object) {
// Do stuff here ^^^^^^^^^
}
这可以确保函数接收到Something类的实例。
我的问题是我想强制执行基本类型。
function functionName(integer $someInt) {
// Do stuff here ^^^^^^^
}
functionName(5);
这表示$ someInt是"不是整数的实例,给定的整数" (我的PHP版本低于7.0)。如何强制执行基本类型?
答案 0 :(得分:7)
您无法为scalar types执行此操作,请参阅手册:
从那里引用:
类型提示不能与标量类型(如int或string )一起使用。资源和特征也是不允许的。
但是你可以使用PHP 7:https://wiki.php.net/rfc/scalar_type_hints_v5
答案 1 :(得分:7)
您无法在PHP中键入标量类型。唯一的机会是使用包装类型。出于此目的,SPL库附带SplInt
。
更新:看起来PHP 7提供了这项功能。叹息,时代变了:)