Penso che la tua domanda possa essere molto specifica per PHP, dato che non riesco a vedere nessuna delle altre tecnologie di back-end di cui dici che viene utilizzata in questo modo.
PHP è un esempio divertente in quanto può essere (in un modo piuttosto brutto che posso aggiungere) visto come una lingua all-in-one per quanto riguarda molti progetti web. È possibile eseguire le attività " back-end " tradizionali, ad esempio operazioni su file e database, creando al contempo mark-up " front-end ".
Questo può chiaramente portare a un pasticcio di spaghetti in cui non c'è una vera separazione delle preoccupazioni, quindi dovrebbe essere davvero malvisto nella mia mente. Per un ottimo esempio, se sfogli la fonte di wordpress puoi spesso perderti - e questo è un progetto in cui biasimo la lingua, l'organizzazione del codebase è in realtà molto buona.
Questo può essere risolto, in qualche modo, usando un " motore di template " (come Smarty )) - ma è ancora PHP che sta costruendo il "front-end" fornendo allo stesso tempo la funzionalità "back-end". Questa è stata una decisione intenzionale alla base della progettazione di PHP, dopo tutto è un " processore ipertestuale "!
Quindi PHP può facilmente adattarsi sia agli usi " front-end " che " back-end ", il che dovrebbe chiarire il tuo esempio. Quindi probabilmente hai ragione nel dire che PHP elaborerà e costruirà tutto il mark-up per un front-end, ma farà richieste altrove per raccogliere i dati richiesti - molto probabilmente un servizio scritto in una delle lingue sopra menzionate .
Personalmente, ritengo che l'intera terminologia "back-end" e "front-end" sia un po '.. forse obsoleta. Preferirei che le cose fossero semplicemente riferite al lato client e lato server; allora non c'è vera ambiguità. *
Di recente ho visto una specifica del client che richiedeva un sistema back-end scritto in node.js e strumenti associati, ma desiderava la build del front-end usando un framework PHP (Laravel). Ciò comporta molti costi associati e, a mio avviso, non è una soluzione elegante e può causare alcuni problemi.
Personalmente, questo tipo di configurazioni sembra che qualcuno abbia inutilmente inserito il PHP in un altro stack - il che significa che sono necessarie più risorse di quelle effettivamente necessarie, il personale di manutenzione deve essere esposto a una gamma più ampia di tecnologie e ci sono più punti di errore.
Inoltre, penso anche che ci siano pochissimi scenari che giustificano questo tipo di stack intermedio; la maggior parte dei linguaggi / framework di back-end sono perfettamente in grado di generare il mark-up richiesto per il front-end. Anche se sto per essere corretto lì.
* Anche se, per girare la tua domanda sulla testa ... Che dire dei sistemi di back-end costruiti usando Javascript? (node.js;))
Modificare:
Dopo aver letto un commento di @itsbruce, ho deciso di chiarire cosa intendo per ambiguità della mia terminologia "front-end" / "back-end".
Tradizionalmente questa terminologia sarebbe andata bene, dal punto di vista architettonico le applicazioni web erano molto più semplici - e oserei dirlo, molto più stupido. Nella mia mente è molto più pulito dire "Server Side" e "Client Side", e questo sta diventando più chiaro man mano che l'attuale tendenza a spingere più elaborazione e logica nel client sta diventando comune.
Sta diventando accettabile fare una buona quantità di elaborazione dei dati lato client (basta guardare alcuni dei framework javascript attualmente in trend), ma è davvero un front-end? L'utente non lo vede, ne vede i risultati - e secondo criteri tradizionali che sarebbero generalmente visti come "back-end"; ma questo sta accadendo nel browser ora ..
Allo stesso modo, e incredibilmente rilevante per questa domanda, costruire il mark-up in PHP è davvero un compito front-end? Ne dubito, una rapida consultazione delle bacheche di lavoro mostra che alcune posizioni degli sviluppatori front-end si aspettano esperienza o conoscenza di PHP; tuttavia l'intuizione suggerirebbe che il mark-up per l'interfaccia sia intrinsecamente front-end.
Il fatto stesso che questa domanda esista costituisce un esempio di come " front-end " e " back-end " siano intrinsecamente ambigui e continueranno ad esserlo.
Riferendosi ad attività come "lato server" o "lato client" per cui si perde l'ambiguità, si sa dove viene eseguito il codice e quali lingue verranno utilizzate. Se hai detto " front-end " nell'esempio fornito dall'OP, dubito che molte persone andrebbero " Oh, quindi PHP sul server giusto? ".