CakePHP - 无法重新声明与第三方库

时间:2015-07-20 13:46:54

标签: php oop cakephp

我正在使用CakePHP 2.5.4中的应用程序并尝试集成第三方库以使用视频服务。图书馆在这里:https://github.com/vzaar/vzaar-api-php

我已将上述库复制到app / Vendor / vzaar /

在我的一个应用程序控制器app / Controller / VideosController.php中,我将其包括在内:

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

每当我运行它的任何函数时,我都会收到PHP致命错误:
错误:无法重新声明类用户

该库具有User.php和Video.php等类。我的应用程序也有包含这些名称的类。

在库中重命名它们的解决方案是什么?或者我以错误的方式导入/使用它?重命名事情似乎是一个非常复杂的方式,虽然我明白问题是同一个类名不能在多个地方使用。

我在这里和谷歌搜索了一个解决方案但没有找到任何东西。我认为这是一个相当普遍的问题,因为来自第三方的任何OOP-PHP类可能与Cake应用程序中的类名共享相同的名称?

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

  

在库中重命名它们的解决方案是什么?

是。我会在Github上分叉库并创建它的命名空间版本。我很惊讶他们还没有使用名称空间。如果这是故意的,那么他们应该在类之前添加类似Vzaar_的类,这在命名空间变得普遍之前是常见的做法。最重要的是供应商做出了一个不太明智的决定,特别是因为"用户"和"视频" 非常常用名称。添加命名空间,执行拉取请求,也许他们会接受它。