2013-05-13 43 views
0

我目前正在开发一个项目,我们使用Symphony来构建将成为其他PHP项目库的应用程序。将Symfony安装为库

我们想要安装Symfony并通过Composer管理所有依赖项。我们以后是结构将是这个样子:

/ 
    composer.json 
    /Symfony 
    /src 
    /app 
    /vendor 
    /symfony 
    /doctrine 

vendor目录不会被提交到源代码控制,因为它的内容是由作曲家产生。 Symfony目录应该是我们的应用程序源目录,但如果可能的话,我们更愿意让srcapp目录直接位于composer.json旁边的根目录中。

因为我们想/需要为我们的应用程序套装(ORM实体等),我们不能把任何这在供应商目录中的问题基本上是;

a)这可能吗?

b)是否有任何资源来建立这样的结构?

+0

到底是什么问题了吗?我不完全理解你的问题。你想删除Symfony目录并在路由中有src和app吗?或者,你现在的结构是你想要的结构?而使用一个库的框架似乎对我来说是错误的... – 2013-05-13 07:30:47

+0

我想从我的应用程序中分离框架。 Symfony是我的应用程序的供应商,因此位于供应商文件夹中。供应商文件夹中的任何内容都不应该由Composer生成后更改/修改。我如何告诉Symfony在不同的位置找到我的应用程序代码的来源,而不是在框架中添加它的标准方式? – Luke 2013-05-13 11:01:35

回答

1

乘坐fresh install后看看默认目录结构。这正是你想要的!不知道,你或者你的开发者都这样做,那你有一个旁边的Symfony文件夹composer.json你的代码都生活在

一切src/ dircetory旁边composer.json
一切配置下app/config/生活目录。
没有生活在symfony框架本身,但它将取决于symfony。

编辑:与作曲家安装symfony的标准版:

php composer.phar create-project symfony/framework-standard-edition path/ 2.2.1 

这是结果:

/path/to/symfony 
+---- app/   # The app directory where the configuration and autoloader lives 
+---- bin/   # Binaries, don't ask me ;) 
+---- composer.json # Your dependency management 
+---- composer.lock # Your version lock file 
+---- LICENSE  # License file 
+---- README.md  # You should read this 
+---- src/   # Where YOUR CODE and your bundles lives! 
+---- UPGRADE-2.2.md # Upgrade infos 
+---- UPGRADE.md  # Upgrade infos 
+---- vendor/  # The vendor directory, where the symfony components and bundles, 
|     # as other bundles and libraries are. Not for VCS. 
+---- web/   # web files, should be the DocumentRoot of the webserver. 
+0

当我通过Composer安装Symfony时,我在供应商目录中获得了Symfony,就是这样。你需要更具体。 – Luke 2013-05-13 20:19:38

+0

看看我的编辑。 vendor目录中的symfony文件夹是正常的,因为它是symfony框架本身,但不是你的代码。您的代码/软件包必须在源代码下。请看[优秀文档](http://symfony.com/doc/current/quick_tour/the_big_picture.html)! – 2013-05-13 20:49:44