2015-07-20 81 views
0

我正在CakePHP 2.5.4中使用一個應用程序,並試圖集成第三方庫來處理視頻服務。該庫是在這裏:https://github.com/vzaar/vzaar-api-phpCakePHP - 無法重新聲明與第三方庫衝突的類

我已經複製上面的庫應用程序/供應商/ vzaar/

在我的應用程序控制器,應用程序/控制器/ VideosController.php一個,我包括它使用:

require_once APP . DS . 'Vendor' . DS . 'vzaar' . DS . 'Vzaar.php';

每當我運行任何它的功能我得到一個PHP的致命錯誤:
錯誤:不能重新聲明類用戶

該庫有一些類,如User.php和Video.php。我的應用程序也有這些名稱的類。

那麼是在庫中重命名它們的解決方案?或者我是否以錯誤的方式導入/使用了這個?重命名的東西似乎是一個非常複雜的方式,雖然我明白這個問題是相同的類名不能在多個地方使用。

我在這裏搜索和谷歌的解決方案,但沒有發現任何東西。我會想象這是一個相當普遍的問題,因爲可能來自第三方的任何OOP-PHP類可能與Cake應用程序中的類名稱共享相同的名稱?

任何幫助,將不勝感激。

回答

1

So is the solution to rename them in the library?

是的。我將在Github上分發這個庫並創建它的命名空間版本。我很驚訝他們沒有使用名稱空間。如果這是故意的,那麼他們應該在類名前加上類似Vzaar_的類,這在名稱空間變得常見之前是常見的做法。底線是供應商做出了一個並不那麼明智的決定,尤其是因爲「用戶」和「視頻」很常見的名字是非常。添加名稱空間,做一個拉取請求,也許他們會接受它。