2013-01-14 21 views
2

類在PHP中,我得到以下錯誤:未處理的異常:重新定義已經定義的構造爲

重新定義類選擇

這是因爲A類「選擇」有「已經定義的構造函數選擇'功能(除了它的構造函數)。 但與其他有關此錯誤的主題不同,我的錯誤是'未處理的異常'。

該錯誤沒有顯示在我的本地服務器錯誤報告級別爲30719(wamp,PHP 5.3.9,Apache 2.2.21)。 在顯示錯誤的prod服務器中,錯誤報告級別爲22527(真實服務器,Ubuntu,PHP 5.3.2,Apache 2.2.14)。

爲什麼錯誤對我來說顯示爲未處理的異常? 我使用Laravel框架,但如果我修改laravel/laravel.php手動設置error_reporting(0)ini_set('display_error', 0) in start.php,錯誤甚至不會消失?

我該怎麼辦? 非常感謝

+0

你是否設法解決這個問題而不重命名該函數?我使用Basset和Laravel遇到同樣的問題。 –

+0

@KaiFeller我想我在那個時候開始另一個項目,我不記得解決任何問題。對不起,我真的不能在這裏幫忙:( –

回答

3

爲了向後兼容的目的,PHP使用與類構造函數同名的方法。所以,事實上你有一個和類一樣的方法以及一個構造函數,你會得到這個異常。你應該改變你的方法名稱或類名稱。

+0

嘿,謝謝,但我想到,的確,重命名這個函數並不是真正的選擇,因爲它是一個庫(Laravel的一個包),我的問題真的是爲什麼錯誤顯示爲對我來說一個未處理的異常?以及如何解決這個問題(無需重命名函數)。 –

5

將PHP4構造函數置於類中的PHP5構造函數之後。