Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    160

    estrarre parametri dalla riga di comando

    come sapete per lanciare uno script da riga di comando (io uso linux/ubuntu) di solito basta scrivere

    php script.php -abc -d=pippo par1 par2 par3

    Si, avrete notato che però dopo script.php ci sono degli argomenti.
    Infatti abbiamo:
    - l'opzione a
    - l'opzione b
    - l'opzione c
    - l'opzione d che ha anche un valore (pippo), si tratta infatti di un'opzione valorizzata
    - il parametro par1
    - il parametro par2
    - il parametro par3

    Dunque, se adesso volessi estrarre solo le opzioni, come saprete, si può ricorrere alla funzione getopt().
    Ma se volessi estrarre solo i parametri (par1, par2, par3)?

  2. #2
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    160
    Quote Originariamente inviata da satifal Visualizza il messaggio
    si, ma a me non interessano gli argomenti; mi interessa solo la distinzione rigorosa tra opzioni e paramatri.
    Naturalmente suppongo che sia chiara la differenza tra argomenti, opzioni e parametri...
    Ultima modifica di astros3; 28-01-2015 a 14:02

  4. #4
    Hai due modi,

    o te la fai a mano la distinzione partendo da $argv, oppure usi librerie esterne che già fanno questa cosa. Ad esempio:

    - http://symfony.com/doc/current/compo...roduction.html
    - https://github.com/pear/Console_CommandLine

    che forniscono un'interfaccia più flessibile e configurabile per il parsing dei comandi da shell
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    160
    Quote Originariamente inviata da Santino83_02 Visualizza il messaggio
    Hai due modi,

    o te la fai a mano la distinzione partendo da $argv, oppure usi librerie esterne che già fanno questa cosa. Ad esempio:

    - http://symfony.com/doc/current/compo...roduction.html
    - https://github.com/pear/Console_CommandLine

    che forniscono un'interfaccia più flessibile e configurabile per il parsing dei comandi da shell
    alla fine ho scelto la seconda soluzione, grazie tanto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.