我一直在研究PHP7的新功能,並認爲我可能會開始爲我的項目準備好它引入的新功能,如標量類型提示。類型提示和多個構造函數
我遇到的第一個問題之一是我在各個類中的構造函數。我有一些類似這樣的通用控制器:
public function __construct($data = null) {
if (is_numeric($data)) {
$this->controller->createById($data);
}
elseif (is_array($data)) {
$this->controller->createByArray($data);
}
elseif (strlen($data) > 0) {
$this->controller->createByUrl($data);
}
}
引入此方法的類型提示當然會在各個方向上拋出錯誤。
據我所知PHP7並沒有引入對多個構造函數的支持。有什麼辦法可以解決這個問題嗎?或者這是這種語言的限制之一?
不要爲該方法引入類型提示? –
@ N.B。是的,我知道這是一種可能性,但來自OOP背景我真的很喜歡我的整個代碼庫是真正面向對象的) – OptimusCrime
編程和OOP專門用於解決問題。你沒有任何需要通過編程解決的問題,你受到OCD的困擾,現在你錯誤地認爲OCD是語言限制。可悲的是,這不是語言限制。這只是你身邊的刺,因爲你有一些愚蠢的構造函數接受任何東西,現在你想通過3個構造函數鍵入提示什麼是值。那真的是「OOP」嗎?複雜,愚蠢的代碼解決沒有問題? –