php - 我应该如何组织基于框架的项目的源代码控制?

标签 php zend-framework mercurial kohana

当针对框架编写项目时,我正在努力找出将项目置于源代码控制之下的最佳实践。在我的情况下,我将使用 Mercurial 进行源代码控制。

大多数 PHP 框架都有一个“应用程序”文件夹,我应该在其中放置与框架交互的代码。那么最好将应用程序文件夹放入它自己的存储库中,然后为框架文件创建另一个存储库吗?还是将所有内容(包括框架)放在一个存储库中更好?

我希望能够拥有相当大的灵 active ,即我希望能够更换我用于实验的框架版本,同时仍然能够使用稳定版发布更改版本。

我在 Kohana 和 Zend Framework 框架方面都有经验,所以如果您可以将它们用作引用,那就太棒了。

最佳答案

好吧,我不使用 Mecrucial,但也许我使用 Subversion 的典型设置在您翻译后会适用 :) 我不使用本地集中式安装。我发现,考虑到框架的快速发布周期,我经常会为我处理的每个应用程序使用特定版本。所以我总是将它们嵌入到一个项目中。

对于 Zend:

svn/path/
  trunk/
    application/
    library/
      Zend/  
      MyNamespace/
    public/
    data/

我使用 svn:external 作为我想要的框架版本....例如:http://framework.zend.com/svn/framework/standard/标签/release-1.10.5/library/Zend

对于 Symfony,对于 symfony 和任何插件都使用外部组件是一样的。不同之处在于像 symfony 和 Zend 这样的库我会放在 vendor 目录中而不是直接放在 lib 中:

svn/path/
  trunk/
    apps
    lib/
      vendor/
        Zend/  
        symfony/
    plugins/
    web/
    config/
    data/
    cache/
    log/

关于php - 我应该如何组织基于框架的项目的源代码控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3748060/

相关文章:

php - 两个不同外键列与同一张表的外键关系

php - 将配置保存到数据库 - 键值存储

django - 如何将 Mercurial 存储库克隆到已存在的目录中?

zend-framework - 如果验证失败,为什么不在 zend_form 上显示错误消息?

zend-framework - 商店和模型上的自定义代理似乎不一致(并且不适用于模型)

mercurial - 从集市迁移到 Mercurial ?

version-control - .hgignore 放在哪里?

php - 访问对象变量上的关系会更改变量

php - Javascript/jQuery 和正则表达式

php - 与维基百科 API 交互