我试图为CakePHP编写插件集合,并且在构建项目的各个部分时遇到一些麻烦。我知道之前可能已经问了几次,我在SO上找到了一些相关的主题,但没有真正令人满意的解决方案。
一些要求:
不同的模块松散耦合,但它们都依赖于核心模块。
实际上,某些模块会相互影响,例如模块可以注册仪表板页面,如果他们发现仪表板模块存在。
core 模块提供PHP基类以及其他人可以继承/使用的RequireJS模块。
为了检查兼容性,每个模块使用不同的版本标签会很不错。
我的问题:
我应该如何处理版本控制?我用一个Git存储库进行了一些原型设计,结果令人不满意,特别是因为我只能为所有模块分配一个标签。 Git子模块是否可以去这里?
我还可以为每个模块创建存储库,这看起来很麻烦,特别是因为对核心的更改可能需要更改依赖模块,这在同一个分支中是否有意义(或不是?)。
< / LI>我应该在哪里放置Javascript代码?由于大多数模块将依赖于某些核心 RequireJS模块,因此将它们放在一个位置并让Grunt将缩小版本分发到各自的CakePHP-Plugin Javascript位置是有意义的。
这自然会给SCM带来一些问题。
我真的没有这种结构的经验 - 这里的一般方法是什么?
答案 0 :(得分:0)
这只是我的方法,我希望它有所帮助。
我应该如何处理版本控制?我用一个Git存储库进行了一些原型设计,结果令人不满意,特别是因为我只能为所有模块分配一个标签。 Git子模块是否可以去这里?
我也可以为每个模块创建repos,这看起来很麻烦,特别是因为对核心的更改可能需要更改依赖模块,这在同一分支中是否有意义(或不是?)。
对于每个模块,我都会创建一个新的Repo。在CakePHP中,这些被称为插件。插件对于日志查看器或您使用的基本工具非常有用。您可以使用composer来安装插件,这样一旦在本地测试就可以非常轻松地更新您的应用程序。此外,我们在我工作的公司使用这种方法。唯一的区别是我们将插件存储库设置为私有而不是公共,因为我们不希望世界使用代码,因为它是一个非常私密的CRM应用程序。
有关此主题的更多信息:
我应该在哪里放置Javascript代码?由于大多数模块都依赖于某些核心RequireJS模块,因此将它们放在一个位置并让Grunt将缩小版本分发到各自的CakePHP-Plugin Javascript位置是有意义的。
如果JavaScript只适用于1个插件,只有1个插件,那么你应该把它放在插件的myplugin / webroot / js /文件夹中。因为它属于那里。如果您有多个插件使用的JavaSript,或者甚至是核心应用程序本身,请将它放在app / webroot / js文件夹中,因为当您作为新开发人员进入代码时更有意义。
请注意文档在http://book.cakephp.org/2.0/en/plugins.html#plugin-assets上说的内容。
如果您对我的“回答”仍有疑问,请在下面的评论中提问。我希望这会以某种方式帮助你。