La tua domanda: Phing e Drush si sovrappongono?
TLDR; versione:
Sorta. Ma soprattutto no.
La versione integrale:
Drush e phing si sovrappongono in pochi casi. Principalmente, il dumping e l'archiviazione di un sito Web sarebbe una delle più grandi sovrapposizioni. Potresti farlo in phing ma dovresti scrivere un sacco di compiti. Potresti scaricare un database ma drush lo fa così facilmente con un solo comando. Phing lo fa ma devi solo scrivere uno script da riga di comando. Dove phing brilla è la possibilità di eseguire test phpunit, eseguire strumenti esterni come un vaso che comprime i file CSS, creare e creare un pacchetto di un sito / applicazione drupal, ecc.
Cos'è il phing?
Phing è essenzialmente il pilota che esegue i comandi. Se hai familiarità con Ant, Phing è in realtà un porto vicino da Ant (è cugino basato su Java). Phing è scritto in PHP.
È possibile utilizzare Phing per automatizzare le attività e riportare i risultati in base a tali attività. Drush, d'altra parte, svolge solo compiti. Non è in grado di determinare valutare i risultati dell'output.
Esempio di caso d'uso per phing / drush:
Ho bisogno di Drush per scaricare il database e phing scp
sul pacchetto dal prod al testing.
Phing può archiviare queste impostazioni in un build.properties
file esterno e sorgente nel tuo progetto. È anche in grado di memorizzare impostazioni diverse per ogni ambiente. Ad esempio, Phing può collegare in modo simbolico l'ultimo completato scaricato da drush alla radice del documento corretta.
Come funziona tutto questo?
Phing è guidato da un xml. Consuma un file build.xml e accetta gli attributi (a volte chiamati target) ed esegue semplici comandi.
Maggiori informazioni su questo:
Consiglio vivamente di rivedere questa presentazione dai leader del progetto Phing:
http://www.slideshare.net/michieltcs/building-and-deploying-php-applications-with-phing
Ti darà un alto livello e un uso concreto (più codice) di phing. Non è in alcun modo correlato a Drupal ma ti darà un'idea migliore di come funziona.