Symfony2-使用不带名称空间的旧外部库

Symfony2-使用不带名称空间的旧外部库,symfony,symfony-2.5,Symfony,Symfony 2.5,首先,我要说的是,我通常不是PHP开发人员,对于Symfony2,我是一个完全的初学者。我被投入了这个项目,我们的最后期限很紧 这样一来,我的问题就来了: 在我的公司,我们有一个PHP库,用于一个旧的内部API;它不使用名称空间,也不遵循任何标准命名约定,如PSR-0或PEAR。但是,我需要在我们的Symfony2项目中使用它。Symfony2显然非常依赖名称空间。如果我不更新库以遵循“新”的约定,或者我无论如何都可以使用它,那么我是不是完蛋了?问题是,这是一个相当大的库,我们现在根本没有时间去

首先,我要说的是,我通常不是PHP开发人员,对于Symfony2,我是一个完全的初学者。我被投入了这个项目,我们的最后期限很紧

这样一来,我的问题就来了:

在我的公司,我们有一个PHP库,用于一个旧的内部API;它不使用名称空间,也不遵循任何标准命名约定,如PSR-0或PEAR。但是,我需要在我们的Symfony2项目中使用它。Symfony2显然非常依赖名称空间。如果我不更新库以遵循“新”的约定,或者我无论如何都可以使用它,那么我是不是完蛋了?问题是,这是一个相当大的库,我们现在根本没有时间去做(有人早就应该做了,但这是另一个话题…)

理论上,我可以将lib放在vendor/下,并在bundle中使用good-old-requires/includes吗?这会奏效吗?这样做会不会让一群愤怒的Symfony/PHP开发人员追上我


或者,有没有一种我不知道的更好的方法?

你可以按照你的建议去做,甚至可以使用,在你的类和文件之间给它一个静态映射,这样你甚至不需要从你的库中获取文件。你不必手工写这张地图,

完全可以按照你的建议去做。其中一个核心Symfony 2框架库(Twig)没有名称空间。唯一的问题是,如果库中有类,则需要使用\ClassName来引用它们。下面是一个例子:如果库只有几个面向公众的实体,那么您可能需要编写一个symfony2包作为接口。这将使您的应用程序看起来很现代。但这不是必需的。谢谢,这看起来很有希望。