Quali sono i vantaggi di PHP? [chiuso]


14

Tutti sanno che le persone che hanno pregiudizi contro determinati linguaggi di programmazione. Soprattutto PHP sembra soffrire di problemi del suo passato e di alcune altre cose (come i tipi dispersi) ed è spesso chiamato un linguaggio di programmazione non serio che non dovrebbe essere usato per applicazioni professionali.

In quel caso speciale PHP: come argomenti di usare PHP come linguaggio di programmazione scelto per le applicazioni web? Quali sono i vantaggi, dov'è PHP migliore di ColdFusion, Java, ecc.?


5
PHP è un approccio regionalizzato e minimamente invasivo al trattamento del cancro attualmente sottoposto a test clinici di Fase II e Fase III. PHP può anche aiutare a capire meglio le collisioni di hash. Gli organizzatori del progetto PHP aiutano anche varie forze dell'ordine a combattere i reati di invio di posta indesiderata privati ​​e commerciali e il lavoro complessivo per aiutare a ridurre la quantità di spam inviato e ricevuto su Internet. PHP offre gruppi di supporto in diverse decine di posizioni in tutto il Massachusetts. PHP è un tipo di programma utilizzato per trattare la malattia mentale e l'abuso di sostanze. PHP è in Layer 3 MPLS VPN (RFC2547).
Giobbe

Ogni lingua ha i suoi nemici / ammiratori. Non direi che PHP è particolarmente odiato rispetto ad altre lingue. In effetti direi che più ammira una lingua, più ha odiatori ha. Sono sicuro che potremmo codificare che: (admirers lang X/haters lang X) = AcmeConstant . AgeFactor(Lang X Age). Dove AcmeContant è invariato per tutte le lingue <(;-)
Martin York,

1
Uso php per dimostrare alle persone come non progettare le lingue.
dan_waterworth,

Risposte:


13

Josh K ha sottolineato alcuni punti piuttosto positivi , quindi non lo ripeterò. Invece ne aggiungerò un altro.

È interpretato

Basta FTP / SSH nel tuo account, cambiare le cose deve essere cambiato e presto! Non è necessario compilare, distribuire, riavviare il server.

Naturalmente questo è qualcosa che è interessante per le persone che lavorano in un ambiente di sviluppo non formalizzato, senza controllo di versione, test automatizzati, build automatizzate ecc.

In effetti è facile

Sul serio. Almeno per il vero principiante è davvero facile. Così facile che quando mio cugino espresse l'interesse per imparare a programmare, gli comprai invece un libro di Python. Le convenzioni di PHP potrebbero insegnarti alcune cattive abitudini.

È capace

Ho una faida lunga e reciproca con i linguaggi C / C ++. In qualche modo non ci piacciamo. Mentre ero all'università, quando dovevo realizzare progetti che prevedevano calcoli, avrei scelto PHP piuttosto che C ++ e in ogni caso avrei potuto raggiungere ciò che intendevo. Forse l'esecuzione del programma è stata in effetti più lenta che se fosse stata scritta in C ++, ma in questo caso non è stato un fattore.

Comunque: reti neurali, algoritmi genetici, logica fuzzy ... Ho fatto tutto questo su PHP. Sì ... la gente mi aveva detto che ero strano.


+1 per interpretato e capace. Una cosa che mi ha sempre infastidito nel fare un lavoro sul web con Java è la costante necessità di ricompilare e distribuire. L'uso di qualcosa come Grails allevia parte di questo, ma non è affatto buono come PHP.
Josh K,

Interpretato e capace è davvero un buon argomento. +1 Tutte le risposte sono state buone e hanno dato buoni risultati, ma le tue riassumono abbastanza bene.
Acme,

Guarda questo codice per gestire i numeri interi a 64 bit: mysqlperformanceblog.com/2007/03/27/… Lo chiami seriamente così facile?
ThomasX,

No non lo so. Nota che ho scritto: "Almeno per il vero principiante è davvero facile". I veri principianti di solito non devono preoccuparsi della portabilità tra le piattaforme (se è una buona cosa - questa è un'altra domanda). Consiglio generale: se ti aspetti di gestire numeri interi grandi in PHP usa l'estensione BCMath (e sì, so che questa non è la soluzione migliore che ci possa essere ... ma è così che è PHP;))
Mchl

17

Questo è qualcosa su cui non tutti saranno d'accordo, ma penso che un altro motivo per cui PHP è così popolare è perché è facile ottenere un account di hosting gratuito.

Molti giovani studenti che desiderano entrare nello sviluppo web scelgono PHP perché l'installazione di un server online non costa loro nulla e quindi possono giocarci / conoscerlo gratuitamente.

Sebbene ci siano opzioni di hosting gratuite per altre lingue (java, ruby, .net), sono molto più difficili da trovare.


Il costo è sicuramente un fattore importante nell'uso diffuso.
Orbling

14

templating

PHP ha il template integrato, senza tag strani, analisi o overhead. Alcuni come questo, altri no.

Portatile

PHP può essere eseguito per quasi tutti i server e la maggior parte delle piattaforme. In effetti, viene eseguito su quasi tutti i server. Puoi eseguirlo su IIS, Apache, Nginx, ecc. Ciò significa che hai una portabilità da eseguire una volta ovunque. Questa portabilità comporta alcune restrizioni, a seconda delle impostazioni ambientali che è necessario supportare. Ciò differirà tra applicazioni commerciali e applicazioni open source / ampiamente diffuse.

Popolare

PHP ha una grande comunità ed è ancora in crescita. Questa community è il risultato della grande popolarità di PHP. Hai mailing list molto attive, forum di discussione e un gran numero di persone che possono rispondere alle domande durante lo sviluppo.

Costo

PHP stesso è gratuito e la maggior parte degli elementi con cui funziona immediatamente (Apache, PostgreSQL, MySQL) sono gratuiti. Questo dà al tuo progetto una soglia di costo iniziale molto bassa.


Non direi davvero che la portabilità fosse un punto di forza di PHP. Se vuoi effettivamente scrivere PHP portatile, devi aggirare il fatto che la lingua può essere configurata in molti modi diversi, ad esempio devi controllare l'opzione di configurazione per le citazioni magiche ed eseguire stripslashes()perché alcuni hanno l'opzione di configurazione attivata e alcuni don 't.
Jim,

2
@Jim - È molto più portatile della maggior parte delle cose.
Orbling

@Orbling - Davvero? A quali caratteristiche simili di altre lingue stai pensando?
Jim,

1
@Jim: scrivo codice che prevede un ambiente "best practice". Se stavo facendo un progetto OS avrei mandato una serie di opzioni / impostazioni (ad esempio, magic_quotes_gpcgirato off ). Il modo migliore per affrontarlo (se fosse necessario) sarebbe incapsulare questi blocchi di elaborazione if / else in funzioni di aiuto che eliminerebbero la necessità di incorporare le virgolette con il codice dell'applicazione.
Josh K,

1
@Josh - Farei lo stesso di te se in questi giorni scrivessi ancora PHP in grandi quantità, ma se il tuo codice dipende da un ambiente "best practice", non è portatile. In particolare, presenterà bug di corruzione dei dati su molti host scadenti man mano che vengono aggiunte barre rovesciate false a tutti i dati forniti dall'utente. Dato che l'onnipresenza dell'hosting PHP è trattenuta come uno dei principali vantaggi dell'utilizzo di PHP, penso che sia giusto prendere in considerazione tutti quegli host schifosi. Le funzioni di supporto che descrivi sono il modo tipico di gestirlo, ma questa è una soluzione alternativa per un problema di portabilità.
Jim,

5

PHP è ovunque. Non importa quale strano host web pazzo tu abbia, è altamente improbabile che PHP non sia installato su di esso. Ciò significa che se stai scrivendo un'app Web che deve essere eseguita sui server di altre persone, puoi sempre dipendere da un set di funzionalità PHP (classi PHP 4/5 e le estensioni predefinite) e aumentare la base di utenti riducendo il supporto.


5

Disponibilità Quasi ogni webhost lo supporta

Velocità di sviluppo Tutto ciò che serve è un editor di testo, nessuna compilazione richiesta

Facile da installare Anche se non è installato, è facile da installare, è anche pre-confezionato con server LAMP / WAMP

Documentazione Ci sono tonnellate di esempi, gruppi di supporto, libri, ecc.


1

Alcuni vantaggi di PHP:

  • Gestione del caricamento dell'input di file integrato
  • Gestione integrata dei dati da GET, POST e COOKIES
  • Gestione della sessione integrata
  • Veloce da scrivere
  • Facile da mescolare codice e HTML (nota: questo è anche visto come uno svantaggio)

Ora, ha anche diversi svantaggi evidenti:

  • Nessun concetto di variabili locali ... le variabili sono globali o con ambito di funzione. Questo ti brucerà ad un certo punto, in particolare se stai usando dei loop.
  • Le variabili globali non sono disponibili nell'ambito della funzione a meno che non vengano richieste specificatamente con la globalparola chiave.
  • L'ambiente di programmazione cambia in base a php.ini. Ciò include cambiamenti nel comportamento di funzioni specifiche e array incorporati (ad es. $_GETE $_POSTvalori cambia in base magic_quotes_gpcall'impostazione)

1
Nessuno nella loro mente corretta si sarebbe magic_quotes_gpcacceso. In primo luogo, metto in dubbio la sanità mentale della persona che ha aggiunto quel gonfio inutile al motore.
Josh K,

1
"Le variabili globali non sono disponibili nell'ambito della funzione se non le chiedi espressamente" - non vedo davvero come sia uno svantaggio. Ci sono lingue che lo fanno in questo modo, ce ne sono altre che non lo fanno.
Mchl,

1
@Mchl: la maggior parte delle lingue non lo fa, ed è un gotcha definito se non lo conosci. Al di fuori della mia testa, TCL è l'unica altra lingua che ho usato che fa questo.
Powerlord,

1
@Josh K: Il server primario della mia azienda precedente lo ha ancora acceso, come piaceva al programmatore capo prima di me, e come tale la maggior parte del vecchio codice PHP legacy fluttuava su di esso. Non c'è tempo per ricodificare centinaia di siti Web. : - /
Orbling

1
@Mchl: Ada tende ad abituarsi dove i fallimenti causerebbero morte, molta morte. adaic.org/advantages/projects
Orbling

1

Penso che ad alcune persone non piaccia PHP perché puoi usarlo nel modo che preferisci / ritieni opportuno. Perché tutti possono usarlo molto facilmente un sacco di codice scadente arriva nel mondo. Alcuni programmatori che non hanno mai fatto alcun vero PHP lì possono pensarlo nel modo in cui lavori con PHP. E ad alcune persone non piace PHP perché a loro piace qualcos'altro e hanno paura di cose nuove o così.

Personalmente mi piace PHP perché posso eseguirlo quasi ovunque. Puoi ricevere molto aiuto sul Web ed è gratuito. Inoltre ci sono alcuni buoni framework come Zend Framework. Ma la maggior parte delle persone non riesce a capirlo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.