我在一个非常大的项目中使用zf和git时遇到了一些问题。 zf应用程序有大约20个模块,目前所有内容都存储在一个git存储库中。因此,当您签出应用程序时,您会检出整个模块集,css表,js文件等。
我想做的是像wordpress或drupal:你拥有核心应用程序,每个模块都有一个单独的git存储库,你可以在modules目录中查看。结帐后,您可以使用它,然后提交它。但是使用zend你不能这样做,因为媒体文件(css,js,images)以/ public中的不同目录存储(每个模块可能有自己的css,例如/ public / _MODULE_NAME_ / css中的js文件) )。我在/ application / modules /.
工作所以问题是你如何使用zend框架模块化应用程序和git?
答案 0 :(得分:2)
我通常设法应对软链接的设置,在web文件夹中有一个超级项目,并且从以下不同的文件夹中对模块进行符号链接:
* SuperProject/
+ application/
+ ModuleA --> ../../Modules/ModuleA/application
+ ModuleB --> ../../Modules/ModuleB/application
+ config/
+ views/
+ layouts/
+ public/
+ ModuleA --> ../../Modules/ModuleA/public
+ ModuleB --> ../../Modules/ModuleB/public
+ css/
+ js/
+ library/
+ Modules/
* ModuleA/
+ application/
+ config/
+ views/
+ models/
+ public/
+ css/
+ js/
* ModuleB/
+ application/
+ config/
+ views/
+ models/
+ public/
+ css/
+ js/
已加星标的目录是存储库,SuperProject / public是http服务器的入口点(当然,符号链接会启用)。您显然不会在SuperProject存储库中添加任何Module-Files,但只会更改全局目录(例如application / config /) - 最多只能通过.git_ignore文件忽略模块。由于此方法依赖于符号链接,因此它仅适用于unixoid系统。虽然不完美,但这是最不麻烦的。