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