是否可以通过composer的自动加载器将命名空间添加到普通类库?

时间:2013-11-11 10:57:18

标签: php namespaces composer-php

我知道这是不太可能的,但我想我还会问。

我正在使用DomPdf来渲染pdfs。

目前它没有实现名称空间并加载了很多类。

我可以用作曲家和“classmap”自动加载库:[“include /"].

是否可以通过自动加载实现自定义命名空间的库来避免可能的类名冲突?

或者是否有工具可以在库中搜索和替换以添加名称空间?

我不想触摸这个库,只是想知道是否有某种方法可以用作曲家的自动加载器完成。

(我目前没有冲突,但希望通过在任何可能的地方实现名称空间来防止我的libs遇到未来的问题。)

1 个答案:

答案 0 :(得分:0)

由于两个类具有相同的名称,相同(或不存在)命名空间,但存在于不同的文件(和路径)中并包含不同的代码,因此会产生冲突。

Composer自动加载对此无能为力。

如果遇到这种情况,首先必须在代码级别解决它,即必须重命名其中一个类,可能会将其移动到命名空间并保留其名称作为快速帮助。有效地重命名它意味着修复引用旧类的每一行代码。

幸运的是,只有当您尝试在项目中包含新代码时才会发生这种情况,因此您可以停止使用您开始导入的任何内容,并寻找替代方案。

相关问题