我该如何使用Composer安装Symfony 1.4?

8
我有一些遗留的Symfony 1.4项目,我想通过composer.json文件增强它们的依赖关系。我已经成功配置了composer使用"plugins"目录而不是"vendors"目录。但是根据Symfony 1.4文档,该库理想情况下应该位于项目根目录下的"lib/vendor"中。如果我在composer.json中配置一个自定义的仓库包,指向最新的1.4.x svn,我该如何让它安装到"lib/vendor"中?

我想这可能会很困难,特别是当composer自动加载器期望你的代码遵循PSR-0标准时。 - Burgi
2个回答

8
实际上,将Symfony放在lib/vendor之外并不是一个真正的问题。建议将其放在此文件夹路径中,因为这样它会自动加载。 使用Composer中的vendor-dir,可以配置放置您的供应商库的位置。但这是一个仅设置为root-only的配置,因此无法针对每个所需库进行配置(至少我认为如此)。
但您可以将Symfony放在您的plugins/目录中,然后告诉您的应用程序您想要在此处自动加载所有内容,使用apps/frontend/config/autoload.yml
autoload:
  symfony:
    path:      %SF_PLUGIN_DIR%/symfony/lib
    recursive: on

不要忘记在config/ProjectConfiguration.class.php中更改路径:

<?php

require_once dirname(__FILE__).'/../plugins/symfony/lib/autoload/sfCoreAutoload.class.php';

应该能解决问题了。

@Omega autoload.yml 文件中的入口是否真的必要? - Restless
@Restless 不用了,没必要。 - j0k
我正在尝试这个,看起来是那样的。感谢 @j0k 的确认。 - Restless

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接