2012-08-07 35 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

相關問題