我正在尝试在我的Symfony2.1应用中使用它们EntityAudit extension for Doctrine2。
我对此非常陌生,我刚刚开始意识到多年来为Symfony安装新捆绑包的方法有多少“正确”。某种“Deps”文件曾经存在但不再存在?安装Symfony时,“使用Composer”是一个选项 - 但纯粹是一个选项,它似乎。现在我开始认为那不是真的。
在EntityAudit的说明中它指的是“Autoload”,基于其他东西,我显然应该修改我的Autoload.php中的registerNamespaces数组。除了我没有那个。所以我找到了this link,那个人指出Symfony2.1不再那样做了,而是支持使用Composer。
虽然我不知道如何在这种情况下使用Composer。实际上,我根本不知道如何使用它,但我似乎已经在其中做了1或2个基本的事情 - “更新”本身和“安装”......供应商?无论如何,我找不到足够的指令来适应这种需要。在此先感谢您的帮助!
答案 0 :(得分:4)
deps文件在2.0中用于管理依赖项。 2.1版本使用了更好的Composer依赖管理工具。
首先你需要一些关于作曲家的basix。例如,阅读这篇文章:http://net.tutsplus.com/tutorials/php/easy-package-management-with-composer/
在使用composer安装软件包之前,您应该查找该软件包的Packagist软件包。对于SimpleThings\EntityAuditBundle
,您应该查找simplethings/entity-audit-bundle
个包,它确实存在:https://packagist.org/packages/simplethings/entity-audit-bundle
<强>旁注强>
Packagist是Composer的主要存档。 如果您正在搜索捆绑包,那么您可以做的最好的事情就是退房 KnpBundles,这是Symfony Bundles的非官方成果。 如果一个包中包含一个README文件,它会显示在那里,如果它有一个Packagist 包它显示包的链接。这是一个非常有用的网站,可以开始搜索 对于捆绑。
现在您有了包名,您应该确定要使用的版本。由于这是一个未完成的捆绑包,我们可以使用dev-master
版本来使用最新版本。但是dev-master
版本可能用于Symfony2.2
,如果我们使用Symfony2.1
,我们应该使用另一个版本,这应该在README文件中(在包中,你可以查看Github或KnpBundles)。如果它不在README中,您可以使用所需的版本。可以找到有关版本的说明的示例in the StofDoctrineExtensionsBundle。
现在我们可以将包添加到我们的composer.json
文件中并更新依赖项。您可以手动执行此操作:
composer.json
文件中:{
...,
"require": {
...,
"simplethings/entity-audit-bundle": "dev-master"
}
}
$ php composer.phar update simplethings/entity-audit-bundle
或更新所有依赖项
$ php composer.phar update
或者你可以这样做是一个命令:
运行此命令(包括composer.json
中的包并更新包)
$ php composer.phar require simplethings/entity-audit-bundle:dev-master
现在捆绑包已安装到我们的Symfony项目中(vendor/simpletings/
),自动加载器识别此捆绑包。我们现在唯一需要做的就是在AppKernel
:
// app/AppKernel.php
// ...
class AppKernel extends Kernel
{
// ...
public function registerBundles()
{
$bundles = array(
...,
new SimpleThings\EntityAudit\SimpleThingsEntityAuditBundle(),
);
// ...
}
}