Mettiamo i puntini sulle i: in ambito enterprise PHP è inutilizzabile, per il semplice fatto che un'applicazione enterprise richiede mediamente talmente tante soluzioni di classe enterprise che PHP non sa neanche da che parte iniziare. E questo per due fattori:
1) PHP è un linguaggio di scripting rattoppato per supportare l'oop. Ergo, è un linguaggio di scripting con un discreto supporto alla programmazione orientata agli oggetti, ma non è un linguaggio orientato agli oggetti e presenta tutta una serie infinita di limitazioni per un'applicazione enterprise. Senza dilungarsi, determinate tecniche di programmazione avanzata non sono fattibili in php; la natura della gestione da parte di php della richiesta php è una grande boiata per applicazioni che richiedano accorgimenti particolari come la persistenza dello stato lungo piu sessioni http ad esempio; non supporta nativamente la concorrenza, il multithreading, non ha librerie a supporto dell'integrazione tra applicazioni diverse, nion ha strutture dati efficenti, non è sufficientemente tipizzato (ihmo), non ha un buon supporto da parte del webserver per l'handling delle richieste e la gestione dell'environmente di esecuzione. Insomma, Java e .Net gli danno una pista. Non parliamo del sitarello piu o meno grande con il carrello di ecommerce, parliamo di programmazione che va oltre, che richiede il processamento di moli di dati enormi, di integrazione avanzate tra applicazioni diverse, di gestione di eventi, code, protocolli particolari. Insomma, php non va bene.
2) diretta conseguenza della 1 è l'assenza di ide o tool di carattere enterprise per lo sviluppo e il debug di applicazioni di alto livello.
Detto questo, se mi chiedessero di fare un'applicazione web di un certo peso, lascerei tutto il frontend al php e al limite farei tutto il backend in java. Se l'amico borioso ti dice di farlo in jsp, tu sputagli in un occhio. Per quello, PHP è imbattibile a mio avviso. Per il resto, Webservices, socket, multithreading, eip, aop, realtime, big data e chi piu ne ha piu ne metta, Java (.net te lo scarto solo perchè si può eseguire solo in ambiente windows, e linux in ambiente server non ha rivali). Per non contare di tutti i framework di classse enterprise che ha Java, roba che il programmatore PHP se li sogna la notte svegliandosi tutto sudato.
Ad ognuno il suo. Chi dice "Tizio fà schifo, usa solo Caio" non è un bravo analista, è solo un programmatore schillato nel suo orticello.
Ah, per non parlare di tutto il resto che c'è fuori e che si sta affermando in vari ambiti funzionali. Prova a seguire qualche blog tecnico inglese, troverai mondi interi inesplorati in Italia ma che possono aiutare a risolvere specifici problemi.
Per chiudere, un "prodotto" web di classe enterprise per sua natura sarà composto da un mix di applicazioni che concorrono alla realizzazione del prodotto. Mix di applicazioni che in buona sostanza è un mix di linguaggi diversi, perchè ogni problematica ha la sua soluzione ottimale e non sempre la soluzione ottimale è nel linguaggio principale usato nel progetto