2012-08-07 50 views
0

我在想什么是组织和复制某些资源的最佳方式,我在寻找什么是最好的方法。我正在开发一个PHP应用程序,我正在使用Maven来管理项目(测试,依赖关系,打包等)。我使用一个外部库(代码点火器,一个PHP MVC框架),它提供了一个最新的,日期stable version through github。 (在这种情况下,我对github版本感兴趣,因为它包含一些尚未发布的修复程序,但尚未从网站下载)。在这个Maven PHP项目中组织和复制资源的最佳方式

每当我编译/打包应用程序时,我想从github (或使用本地缓存版本)。我在Google上做了一些搜索,看起来并不那么简单。我正在考虑在我的个人maven存储库中为代码点火器创建一个maven工件,并将其作为依赖项添加。虽然这是我开始怀疑这是否是最好的方法。

有关该项目的一些详细信息:

  • 的根目录是放在src /主/ web应用/
  • 我可能会决定更改Web根目录的位置,为开发更简单的东西一点用都没有与Maven一起工作,但向Maven目录结构学习开发人员是可以接受的。
  • 我想从Code Igniter文件中分离自定义开发的PHP文件(并在运行测试之前覆盖它们)。

在这种情况下什么是一个好的maven解决方案?

+0

我试着为CodeIgniter制作一个单独的WAR文件,并通过在我的项目中添加它作为依赖项来覆盖WAR。它适用于生成WAR文件,但是它会与jetty-maven-plugin结合失败,这对我来说是一种阻碍:/看起来我只限于复制解决方案。 – webdevelopersdiary 2012-08-07 20:44:45

回答

0

首先,你应该问你12个主要目标是什么。 PHP本身并不知道任何有关war文件的知识,(正式使用的)apache httpd也不了解它。 PHP更喜欢PHAR文件。你使用php-maven还是试图用你自己的方式来解决它?也许你应该在php-maven中分享你的工作。见谷歌组https://groups.google.com/forum/?fromgroups#!forum/maven-for-php

你不应该试图对抗maven公约。所以实际上这是一个maven项目,源代码应该放在src/main/webapp或者src/main/php或者src/main/resources中(正如你所知道的)。领导php开发人员进入常见的maven文件结构并不困难。由于PHP项目不是非常直观(大多数框架都有自己的打包和文件布局),PHP开发人员在学习“所有源代码都转到src/main/php”时应该没问题。

所以,要问你的问题:

1)你所描述的有关代码点火器实际上描述的快照什么。 Maven处理快照非常好。所以剩下的唯一问题是:如何自动导入它们。 PHP-Maven alrweady有一个梨项目的进口商,几个网站下载,甚至github下载。我认为这个导入器可以很容易地从github下载快照构建。这只是一个如何被通知新版本(​​或者查找它们的时间间隔)的问题。

2)在PHP-Maven中通过添加对php include路径的依赖或通过将其提取到特定文件夹(或用户定义文件夹)中来解决依赖管理问题。应该足够灵活。

3)我不知道代码点火器本身。您正在寻找的解决方案取决于代码点火器的行为是否类似于zend框架(一个可以轻松了解常用目录结构的简单库),或者它的行为类似于flow3(仅适用于自己的自定义目录结构)。因此,如果代码点火器位于非常不同的文件夹(php-maven中的target/php-deps或类似的代码)并且您的点火器webapp位于目标/类中是可以接受的,则应该始终从代码点火器文件中分配自定义文件。

+0

我正在使用自定义Maven解决方案(该项目还包含一些Java资源)。 PHP的Maven看起来很有前途,我之前没有使用它。我会试一试。感谢您的指点! – webdevelopersdiary 2012-08-08 15:08:33

相关问题