我有一个捆绑包,我想更改一些代码以满足我的需要。
在供应商存储库中进行更改是否正常,或者我必须这样做?
不,您应该避免对供应商进行更改,因为下次尝试更新这些捆绑包时,您可能会丢失更改或发生冲突。此外,您的供应商将(或至少应该)被您的版本控制系统忽略,因此当您部署到新环境时,这些更改不会被延续。
捆绑的想法是让它自给自足并为自己的目的服务。如果捆绑包有问题,那么您应该报告错误,或者进行必要的更改,提出拉取请求,如果它被合并,您可以通过 composer 更新以获得最新的更改。
如果您只是想扩展或覆盖功能,那么您应该按照 Cookbook 中列出的指南(下面的链接)在您的应用程序中执行此操作。
http://symfony.com/doc/current/cookbook/bundles/inheritance.html
http://symfony.com/doc/current/cookbook/bundles/override.html
通常,您可以通过复制 app/ 目录中的文件来“覆盖”代码。
例如,我有一个为 FosUserBundle 编辑的文件,该文件位于
/app/Resources/FOSUserBundle/views/layout.html.twig
我不知道这是否适用于课程和东西。