Q
PHP类声明
5
A
回答
10
不,没有。 PHP变量总是可以是任何类型的。但你可以在setter中强制执行一个类型:
public function setRoof(Roof $roof) {
$this->roof = $roof;
}
0
3
您正在寻找PHP的Type Hinting。它在函数/方法调用中很好用。这里的手册:
9
不能使用PHP代码来声明一个对象字段的类型。
但你可以把类型提示在docblock评论:
class House{
/**
* @var Roof
*/
private $roof
}
这仍然没有使代码执行的类型,但一些IDE工具了解文档块,如果你使用这个变量可能会向您发出警告不符合类型提示。
0
你也可以使用成员
if (!$this->roof instanceof Roof) {
throw new Exception('$this->roof is not an instance of Roof');
}
相关问题
- 1. PHP或声明||
- 2. PHP:如果声明变量声明
- 3. Java类声明
- 4. C++类声明
- 5. 类声明
- 6. 声明子类
- 7. 声明类
- 8. 声明类
- 9. 声明该类
- 10. PHP包含声明回声'?'
- 11. 在php中声明一个抽象类
- 12. PHP中的新类声明的语法
- 13. PHP如何声明一个类成员?
- 14. PHP类 - 无法声明一个
- 15. PHP如何声明/使用嵌套类
- 16. PHP:无法重新声明类
- 17. 在php中声明的类的名称
- 18. 在PHP类中声明变量
- 19. php:声明函数的参数类型
- 20. PHP类函数声明问题
- 21. PHP数组声明随着类定义
- 22. 在PHP中隐式类变量声明?
- 23. PHP类声明的解释需要
- 24. 函数中的PHP类型声明(typehint)
- 25. PHP - 强制类声明属性
- 26. 如果声明php
- 27. 声明帮助(PHP)
- 28. PHP继续声明?
- 29. PHP变量声明
- 30. PHP全局声明
请注意,您只能执行对象或数组,而不是“原始”类型,如浮点数或字符串之前使用以下。 – svens 2010-06-16 23:14:52
如果你有一个需要原始类型的setter,比如'bool',你总是可以'assert('is_bool($ value)');'。 – meagar 2010-06-16 23:23:20
@svens:FWIW,PHP开发在2010年5月20日添加了标量类型暗示。不过,我不确定何时会将它变成正式版本。 – 2010-06-16 23:29:20