Eğer Phing kullanıyor musunuz?

5 Cevap php

Herkes Phing PHP uygulamaları dağıtmak için kullanıyor mu, eğer öyleyse bunu nasıl kullanabilirim? Şu anda projemize yeni bir örneğini dağıtmak zaman biz çalıştırmak elle yazılmış bir "setup" komut dosyası var. Biz sadece SVN çıkış ve çalıştırın. Bu, bazı temel yapılandırma değişkenlerini ayarlar yükler veya veritabanını yeniden yükler ve site örneğin bir v-dizi üretir.

Ben sık sık belki kullanılarak gerektiğini düşündüm Phing. Ben çok karınca kullanmadıysanız, bu yüzden Phing, bizim kurulum komut yaptığı gibi başka bir çok komut için bir yerden dosya kopyalama dışında yapmak gerekiyordu ne gerçek anlamda yok. Eğer biz ya da bizim süreci içine Phing entegre etmek istemem neden beni anlamak yardımcı olmak için örnekler verebilir bazı daha gelişmiş kullanım alanları nelerdir.

5 Cevap

Federico Cargnelutti en dan blog post:

Features include file transformations (e.g. token replacement, XSLT transformation, Smarty template transformations), file system operations, interactive build support, SQL execution, CVS operations, tools for creating PEAR packages, and much more.

Tabii ki tüm yukarıda için özel komut dosyaları yazabilirsiniz. Ancak, Phing gibi özel bir yapı aracını kullanarak size bir numara verir. Sen kanıtlanmış bir çerçeve kullanarak böylece yerine size yazmak gerekir kod odaklanmak "altyapı" kurma konusunda endişe sahip olacak. Phing kullanılması da kolay yeni üyeler ekibine katılmak zaman, onlar Phing kullandım ne varsa önce (veya Ant Phing dayalı ne olduğu,) oluyor anlamak mümkün olacak yapacaktır.

Benim için zorlayıcı cevabı Phing PHP Sınıf yollarıyla anlar olduğunu. Ant değil. Ben exec komutları dolu bir karınca build.xml olmasını istemiyorum. Ben öncelikle bir java programcısı olarak gerçekleşmesi ve hala Phing kullanın. Bu iş için en iyi araçtır.

Ben PHP bulunuyor 'sırf' Ant Phing taşındı. Ben 20 çizgi yeniden xml dosyası ve proje özel malzeme ile bir yapılandırma dosyası ile bütün vb farklı subversion depolarından ihracat etrafında şeyler kopyalamak, farklı kurulum paketleri oluşturmak için kullanabilirsiniz. Ben özel bir komut dosyası ile bu hızlı yapmak hiçbir şekilde. Ben de api belge oluşturma ve birim testleri entegre planlıyoruz. Love it!

Ben Phing ile gitmek için herhangi bir zorlayıcı bir sebep görmüyorum. Yani, PHP programcıları bu şekilde PHP Eclipse eklentileri yazmak için daha kolay olabilir "sırf" Eclipse bir yeniden yazma girişiminde gerekir? Öyle düşünmüyorum.

Ant bazı güzel O'Reilly kitapları da dahil olmak üzere daha iyi belgelerine sahiptir ve Java evrende köklü, yani sen (1) "Biz henüz phing bir özellik X kopyalamamışsanız" ve (2) risk sorunları önlemek Phing proje ölü gidiyor. Karınca ve CruiseControl ile çalışmak için phpunit yapılandırılmasıyla ilgili Here's bir makale: o kadar da zor. Ve ücretsiz tutulması entegrasyon olsun.

İyi şanslar!

Biz dağıtmak için phing kullanın SemanticScuttle:

  • dağıtımı için zip arşivi oluşturmak
  • oluşturmak PEAR paketi
  • zip SourceForge'dan upload
  • yeni paket dosyası ile PEAR channel güncellemek
  • reStructuredText html dosyaları içine belgeleri ve bunları yükleyerek kılıyor. Şu anda exec ile ama bunun için bir separate task yazmaya gidiyorum.

Zip dosyasını yükleme ve kanal ne yazık ki özel bir görev ile phing tarafından desteklenen rsync yoluyla yapılır - ama exec her zaman mümkündür ve güzel kullanarak çalışır.

Sonunda, bu çok zaman kazandırır ve tek komut ile app test paketi ve dağıtmak mümkün olacaktır (bize başka nokta verir Joel Test). Ben onsuz yaşamak istemem.

build.xml code bakın.