当项目针对框架编写时,我正在努力弄清楚将项目置于源代码控制之下的最佳实践.在我的情况下,我将使用Mercurial进行源代码控制.
大多数PHP框架都有一个“应用程序”文件夹,我应该把我的代码与框架交互.那么最好将应用程序文件夹放入它自己的存储库中,然后为框架文件建立另一个存储库吗?或者将包括框架在内的所有内容放入单个存储库中会更好吗?
我希望能够有相当大的灵活性,即我希望能够替换我用于实验的框架版本,同时仍然能够使用稳定版本发布更改.
我有Kohana和Zend Framework框架的经验,所以如果你可以使用那些作为参考,这将是太棒了.
解决方法:
好吧,我不使用Mecrucial但也许我的典型设置与Subversion将适用于你翻译后:)我不使用本地集中安装.鉴于框架的快速释放循环,我经常使用特定版本为我工作的每个应用程序.所以我总是把它们嵌入到一个项目中.
对于Zend:
svn/path/
trunk/
application/
library/
Zend/
MyNamespace/
public/
data/
我使用svn:external到我想要的框架版本….例如:http://framework.zend.com/svn/framework/standard/tags/release-1.10.5/library/Zend
对于Symfony来说,使用symfony和任何插件的外部都是一样的.不同的是像symfony和Zend这样的库我会放在供应商目录中,而不是直接放在lib中:
svn/path/
trunk/
apps
lib/
vendor/
Zend/
symfony/
plugins/
web/
config/
data/
cache/
log/