我有一個問題,我有兩個第三方庫類,我必須一起擴展和使用。但兩者具有相同的命名約定,並且兩個類名最終具有相同的名稱。如何在不使用名稱空間的情況下在PHP中使用相同的命名類?
因爲我不能擴展兩個類,所以我不知道如何解決它們,如何創建一個包裝器。我不能使用PHP命名空間,因爲PHP版本只是5.2.10而不是5.3。
我有什麼選擇?
我有一個問題,我有兩個第三方庫類,我必須一起擴展和使用。但兩者具有相同的命名約定,並且兩個類名最終具有相同的名稱。如何在不使用名稱空間的情況下在PHP中使用相同的命名類?
因爲我不能擴展兩個類,所以我不知道如何解決它們,如何創建一個包裝器。我不能使用PHP命名空間,因爲PHP版本只是5.2.10而不是5.3。
我有什麼選擇?
我認爲你可以實現類似rpc的接口,用於一個類。對於其他你可以擴展和使用。 http://en.wikipedia.org/wiki/Remote_procedure_call
如果沒有名稱空間,那就麻煩了。
您唯一的選擇是通過其中一個或另一個的代碼,並更改所有類名。也許給他們兩個添加一個前綴,以明確哪一個是哪個。
這正是PHP命名空間打算解決的問題。 5.3之前沒有乾淨的方式來做這件事。你可以做的最好的是重命名一個或兩個,並通過庫來糾正電話。這是一個痛苦,但是,因爲它們是獨立的庫,這不應該太難。
我的其他建議是確保安裝5.3真的不可能。這是迄今爲止您的問題的最佳解決方案。
他們都自動加載或包括? – stillstanding 2010-10-26 11:59:44
是的,我必須使用它們兩個,我需要同步兩個第三方庫。一個是redmine,另一個是基於蛋糕。 – Pentium10 2010-10-26 12:06:33