2013-02-18 15 views
5

Ho uno strumento da riga di comando php che vorrei condividere con il mondo. Beh, in realtà ho intenzione di scriverlo, ed è uno strumento per caricare i documenti di design in couchdb, ma non è proprio questo il punto.distribuzione di uno strumento da riga di comando php

In ogni caso, esiste una procedura ottimale per il packaging degli script php in modo che possano essere distribuiti per una facile installazione? Sto pensando a qualcosa sulla falsariga del buon vecchio "./configure & make & make install", ma cosa fare per uno script php? Ho letto di phar, ma sembra che sia destinato principalmente alle biblioteche. Quindi qualche idea? O esempi di come altri progetti hanno fatto questo?

+0

Penso che il problema principale sia che i computer di tutti devono essere in esecuzione su un server Web e/o installare PHP stand-a-lone. –

+1

@ EM-Creations: non è necessario un server Web per eseguire uno script PHP. – Johnsyweb

+1

@Johnsyweb Ho detto che è necessario eseguire un server Web e solo un server Web funzionerà? No. –

risposta

1

Composer è un buon esempio di come impacchettare lo strumento, sia come set autonomo di codice sorgente che come codice che può essere eseguito. Ho installato come un phar e ora può solo correre da nessuna parte come 'composer --options args'

+0

ah, ho appena letto su compositore un po 'di più, e sembra che uno script .phar possa effettivamente essere fatto per comportarsi come un comando eseguibile. Ho letto su di esso qui: http://getcomposer.org/doc/00-intro.md dove suggeriscono di fare "sudo mv compositore.phar/usr/local/bin/compositore". Penso che sia più o meno quello che sto cercando. Controllerà i dettagli ... –

+0

PHAR è esattamente quello che stavo cercando, sembra solo un po 'non semplice e non particolarmente ben documentato su come effettivamente creare un archivio PHAR. Almeno al momento ... –

+0

Dai un'occhiata al processo di compilazione per Composer, e forse anche phpunit. Ci sono anche vari post sul blog, o le informazioni originali, all'indirizzo http://www.php.net/manual/en/intro.phar.php –

0

C'è il composer o il buon vecchio PEAR che è ancora ampiamente utilizzato, specialmente per gli strumenti CLI. Per creare il tuo canale PEAR, Pirum di SensioLabs (i ragazzi di Symfony) è utile.

Per ulteriori letture, Stuart Herbert ha un ottimo series on component based development.

+0

hm ... Conosco PEAR e compositore, ma sembra che questi strumenti vengano principalmente utilizzati per l'installazione di _dependencies_ in un progetto. Mi piacerebbe essere in grado di creare qualcosa che si comporta più come un comando, in modo che si sieda nella directory/bin e sia richiamabile dalla riga di comando digitandone il nome. –

+0

se il componente non ha dipendenze, compositore e PEAR sono ancora utili. E soprattutto PEAR è esattamente quello che stai cercando. Cioè l'installazione di PHPUnit via PEAR equivale a: 'pear install pear.phpunit.de/PHPUnit' –

+0

hm .. ma .. dopo aver installato PHPUnit, ottengo uno strumento da riga di comando che posso eseguire? quale? –

0

Partenza CLIFramework gestisce subcommands, la convalida degli argomenti, i valori di opzione (multipla, la bandiera, opzionale, default) ed un generatore di completamento potente zsh/bash .

Un comando di compilazione è anche pronto all'uso per aiutare a compilare l'applicazione della console in un file phar per la distribuzione. (Phpbrew utilizza questo modo per distribuire l'applicazione per il mondo)

Ecco uno screencast di utilizzare generatore di completamento zsh (che completa gli argomenti e opzioni):

zsh completion generator

Ci sono anche molte applicazioni popolari che utilizzano CLIFramework e GetOptionKit. ad es., PHPBrew, LazyRecord

Problemi correlati