2010-02-17 21 views
7

Kolay dağıtım için bir web uygulamasını PHP'de paketlemenin iyi bir yolu nedir? Şu anda, bir gzip tar dosyası oluşturmak için make kullanıyorum. Java'da, çoğu insan Maven'i kullanır ve savaşlar yapar. PHP dünyasında benzer bir standart uygulama olup olmadığını merak ediyorum.PHP Paketleme/Dağıtım

PHP için bir Maven var. Gitmenin yolu olup olmadığını merak ediyorum.

+0

1. http://www.capify.org/index.php/Capistrano 2. http://ant.apache.org/ –

+0

bir tüm PHP yolu olarak, kullanmak [Phingistrano] (http://github.com/CodeMeme/Phingistrano). Size Capistrano'nun bir çok işlevselliğini verir, ancak [Phing] (http://www.phing.info) komut dosyalarını kullanarak php ile yazılır. Bizim için harikaydı. – Clint

+0

Eğer maven'i açıkça kullanmak istiyorsanız, php projelerini yerleştirmek için karınca ile birlikte kullanmanız ve daha sonra maven ile çalışmasını sağlamak için ant maven eklentisini kullanmanız gerekir. – ant

cevap

12

PHP arşivi sizin için ilgi çekici olabilir.

manual'a bakın.

Phar uzantısı, tüm PHP uygulamalarını kolay dağıtım ve yükleme için "phar" (PHP Archive) adı verilen tek bir dosyaya koymanın bir yolunu sağlar. Bu hizmetin sağlanmasına ek olarak, phar uzantısı, PDO'nun farklı veritabanlarına erişmek için birleşik bir arabirim sağlaması gibi, PharData sınıfı aracılığıyla katran ve zip dosyalarını oluşturmak ve değiştirmek için bir dosya formatı soyutlama yöntemi de sağlar. Farklı veri tabanları arasında dönüştürülemeyen PDO'dan farklı olarak Phar ayrıca tar, zip ve phar dosya formatlarını tek bir kod satırıyla dönüştürebilir. Bir örnek için bkz. Phar :: convertToExecutable().

5

http://phing.info/

Phing GNU yapmak Değildir; Apache Ant'e dayanan bir PHP proje oluşturma sistemi veya inşa aracıdır. Bununla birlikte, GNU gibi geleneksel bir yapı sistemi ile yapabileceğiniz her şeyi yapabilir ve basit XML yapı dosyaları ve genişletilebilir PHP "görev" sınıflarının kullanımını kullanımı kolay ve son derece esnek bir yapı çerçevesi haline getirir. Özellikler PHPUnit ve SimpleTest birim testleri (test sonucu ve kapsama raporları dahil), dosya dönüşümleri (örn. Jetonun değiştirilmesi, XSLT dönüşümü, Smarty şablon dönüşümleri), dosya sistemi işlemleri, etkileşimli derleme desteği, SQL yürütme, CVS/SVN işlemleri, araçları içerir. PEAR paketleri oluşturmak ve daha fazlası.