我在想什么是组织和复制某些资源的最佳方式,我正在寻找一些最佳方法的建议。
我正在开发一个PHP应用程序,我正在使用maven来管理项目(测试,依赖项,打包等)我正在使用一个外部库(代码点火器,一个PHP MVC框架),它提供了一个最新的stable version through github。 (在这种情况下,我对github版本感兴趣,因为它包含一些尚未从网站上下载的修补程序。)
每次我编译/打包应用程序时,我都希望从github中检索一个副本(或使用本地缓存版本)。我做了一些谷歌搜索,它似乎并不那么简单。我正在考虑在我的个人maven存储库中为代码点火器创建一个maven工件,并将其添加为依赖项。虽然这是我开始怀疑这是否是最好的方法。
有关该项目的更多信息:
在这种情况下,什么是好的maven解决方案?
答案 0 :(得分:0)
首先,你应该问你的主要目标是什么。 PHP本身对war文件一无所知,(正式使用的)apache httpd也不知道它的内容。 PHP更喜欢PHAR文件。你使用php-maven还是试图以自己的方式解决它?也许你应该在php-maven上分享你的工作。请参阅https://groups.google.com/forum/?fromgroups#!forum/maven-for-php
上的google论坛你不应该试图与maven惯例作斗争。所以实际上这是一个maven项目,源应该放在src / main / webapp或src / main / php或src / main / resources(你可以知道)。领导php开发人员进入常见的maven文件结构并不困难。由于PHP项目不是非常直观(大多数框架都有自己的包装和文件布局)PHP开发人员应该没问题学习“所有来源转到src / main / php”。
所以问你的问题:
1)您所描述的关于代码点火器的内容实际上是描述快照。 Maven非常好地处理快照。所以唯一剩下的问题是:如何自动导入它们。 PHP-Maven alrweady有一个梨项目的导入器,几个web下载甚至github下载。我认为这个导入程序很容易从github下载快照构建。这只是关于如何通知新版本(或寻找它们的间隔)的问题。
2)依赖管理在PHP-Maven中通过添加对php include路径的依赖或通过将其解压缩到特定文件夹(或用户defind文件夹)来解决。应该足够灵活。
3)我不知道代码点火器本身。您正在寻找的解决方案取决于代码点火器的行为是否类似于zend框架(一个简单的库,可以轻松了解常见的目录结构),或者它的行为类似于flow3(仅适用于自己的自定义目录结构)。因此,如果可以接受代码点火器位于一个非常不同的文件夹(php-maven中的目标/ php-deps或类似的东西)并且你的点火器webapp在目标/类中,你应该始终从代码点火器文件中分配自定义文件。