我有3个PHP项目使用CodeIgniter框架,它共享一些完全相同的文件,如模型库和控制器。我可以分享这些文件的最佳方式是什么,而不必保持同步并更新相同的文件?
我认为这是一个常见的问题,常见的方法是什么?
答案 0 :(得分:3)
答案 1 :(得分:3)
你可以做的一件事:
将所有共享代码放在库,帮助程序和模型中,并将其放在单独的文件夹中。然后使用:
$this->load->add_package_path('shared location');
另请参阅此处:http://codeigniter.com/user_guide/libraries/loader.html,在应用程序包下。
这适用于大多数内容,除了控制器。
答案 2 :(得分:2)
使用版本控制!在svn中你可以使用外部,git有子模块或子树。
你不想使用硬链接,你会遇到一些奇怪的问题,例如更新一个项目影响另一个项目(“我几周没有碰过”)。
代码可以位于两个物理位置,但在版本控制下共享。始终只有一个授权副本,即版本系统中的副本。所有物理副本都是衍生物。重要的是,当您更新特定项目的代码时,您可以控制,因此如果您犯了错误,一次更改不会立即破坏另一个项目。 如果您做想要捕获这些类型的错误,请设置一个合适的回归测试环境。
与其他开发者共享开发环境也是一个很大的没有。您不希望等到您的同事修复了破坏整个程序的解析错误。每个开发人员都应该拥有自己的项目副本(checkout!),同样每个项目都应该拥有自己的共享代码副本(外部)。
答案 3 :(得分:0)
将它们分隔到项目外的文件夹中,然后在项目中配置或包含它们。
通常我们会为项目重写“自动加载器”方法,以便在新文件夹中查找文件。