我在 Symfony 2.0 上并且了解第三方库进入 /vendor。我有两个正在使用的第三方类,一个是 TCPDF,另一个是 Paypal 类。两者都没有正式的 Symfony2 Bundles。
因此,我按照此处的说明对它们进行了命名空间并使它们在 /vendor 中可用:
这有效,我可以从我的控制器访问它们。但是,我正在重新考虑这是否正确。每当我这样做..
php bin/vendors install --reinstall
..那些自定义类消失了,因为它们在“deps”中没有 Git 存储库。这引起了实际问题,例如在尝试部署在 PagodaBox 上时。我有一种强烈的直觉,即“第三方”的代码更接近我的应用程序的代码。
如果这是真的,应该:
- 坐在我的控制器旁边 src/MyCompany/MyBundle/Controller/tcpdf.php
- 与我在 src/MyCompany/MyBundle/DependencyInjection/tcpdf.php 中的其他自定义编写服务一起使用
- 进入我的包下它自己的目录:src/MyCompany/MyBundle/TCPPDF/tcpdf.php
如果我将这两个类从 /vendor 移动到上述之一,我会从带有“use”语句的控制器访问它,还是需要在“services.yml”中定义它?
我希望这不是讨论或意见的问题,而是我错过的一些指导或最佳实践,我不知道更有经验的 Symfony2 开发人员会知道。
在 Symfony 2.1 准备好之前切换到 Composer 是否明智?
谢谢阅读。