PHP come linguaggio di scripting [chiuso]

6

Ho una conoscenza ragionevole di PHP, Perl e Bash. Io uso Perl per la maggior parte dell'elaborazione del testo sul mio sistema (trovare, sostituire, filtrare l'output, ecc.). Uso PHP per lo sviluppo web, consentendo a un utente di visualizzare e interagire con i dati del database tramite il browser. Uso Bash per script veloci e sporchi spesso per integrare gli script Perl più complessi.

Sono un grande sostenitore di concentrarmi sul minor numero possibile di lingue (per portare a termine il lavoro) e diventare un esperto in esse.

Quindi la domanda è, perché non usare PHP per le attività comuni che Perl (e Bash) vengono utilizzate? Ci sono buone ragioni (limitazioni o caratteristiche) perché il PHP è usato principalmente per lo sviluppo web, mentre Perl e Bash sono principalmente usati per lo "scripting" "offline"?

    
posta Alan Turing 05.09.2011 - 08:05
fonte

6 risposte

9

Perché Perl ha un set di funzionalità molto più potente di PHP.

Perl è un linguaggio di programmazione più generale e ha molte più funzionalità di gestione del testo rispetto a PHP, e probabilmente di qualsiasi altro linguaggio là fuori, e una migliore interazione con il sistema operativo.

Perl ha un potente supporto nativo Regex , che significa manipolazioni di stringhe al suo meglio.

Inoltre, Perl è in circolazione da molti anni e offre un'enorme libreria di moduli. Creare script complessi con Perl è facile; con i moduli giusti hai solo bisogno di scrivere piccole righe di codice.

Potresti dare un'occhiata a questa ottima risposta che spiega chiaramente le differenze tra le due lingue.

    
risposta data 05.09.2011 - 09:18
fonte
5

Per lo scripting di sistema, gli script di shell hanno una migliore interazione con il sistema operativo. È più semplice emettere un comando in uno script piuttosto che racchiudere quel comando in una chiamata di funzione in PHP.

Detto questo, non c'è ragione di non usare PHP per varie applicazioni non web, come servizi di pianificazione / cron jobs che elaborano dati in qualche modo (import / export / retrieve / etc). È perfettamente adatto per tali compiti. Lo faccio da anni. Come hai detto, non è necessario mantenere il codice in più lingue se non è necessario.

    
risposta data 05.09.2011 - 09:25
fonte
5

In questi giorni con le funzioni PCNTL e POSIX puoi usare PHP per lo scripting e fare tutto ciò che può fare uno script Perl / Python / Bash. La mia azienda utilizza pesantemente il PHP per lo scripting, inclusi alcuni casi non trival (ad esempio, la gestione delle code personalizzate viene eseguita come servizio di sistema) e sembra che PHP sia affidabile quanto gli script Perl / Python / Bash.

Tuttavia il supporto del sistema operativo in PHP è migliorato abbastanza recentemente. Qualche tempo fa era orribile. IIRC hai avuto solo funzioni base di "Esecuzione del programma" con alcune limitazioni di bizzare (non proc_open () quindi solo pipe unidirezionali con popen () e così via). Allo stesso tempo puoi divertirti con Perl / Python su molti moduli OS e ottenere tutto ciò che vuoi con facilità.

    
risposta data 05.09.2011 - 10:24
fonte
3

Non penso che ci sia uno script che non potresti scrivere in PHP.

Naturalmente, Perl è specializzato in script amministrativi.

Ma se il tuo MO usa il minor numero possibile di lingue e hai già dimestichezza con PHP, allora usalo. Non penso che ti mancherà alcuno strumento.

    
risposta data 05.09.2011 - 10:16
fonte
1

Penso che sia principalmente tradizione e preferenza e quando le persone sono alla ricerca di esempi su come fare X, Y, Z se tende ad essere in bash / perl, allora perché riscrivere solo per usare php.

    
risposta data 05.09.2011 - 09:02
fonte
0

Una volta ero un amministratore di rete in un dormitorio studentesco e mi sono imbattuto in uno script di configurazione del firewall scritto da un predecessore in PHP. Penso che questo fosse molto probabile per lui. Alcuni studenti che lavorano come un piccolo amministratore (come me) hanno molte più probabilità di conoscere alcuni PHP rispetto a uno dei linguaggi di script GP normalmente usati qui. Così sono stato in grado di fare i cambiamenti necessari senza dover gestire un linguaggio che non ho mai usato prima. Per essere onesti: quando ho più volte menzionato questo script, ha ammesso che in qualche modo era inteso come uno scherzo per utilizzare PHP in questo modo.

    
risposta data 05.09.2011 - 10:50
fonte

Leggi altre domande sui tag