Ovviamente dipende, come dice pure @Alhazred se devi stampare una roba al volo non farla fare al PHP, se devi rendere dinamica una scritta è un altro paio di maniche.
Io utilizzo due metodi: se devo creare un semplice messaggio di avviso, condiviso da tutte le mie pagine, o comunque parte di esse, creo in una directory apposita, un file PHP da includere, non sarà elegante al massimo, ma è una buona pratica se devi realizzare un sito multilingua; per esempio un messaggio che dica che hai inserito nome e password errati, lo inserisci in un file chiamato che so: messaggio_errore_login.it.php con al suo interno solo una variabile con il messaggio e nient'altro.
A seconda della lingua lo richiami come messaggio all'interno della pagina di login, sempre per semplice esempio:dove $_SESSION['lang'] porta la lingua scelta dall'utente e $messaggio è la variabile interna al file che porta il messaggio stesso.codice:if ($errore !== false) { include(__DIR__ . '/messaggi/messaggio_errore_login.' . $_SESSION['lang'] . '.php'); echo $messaggio; }
E' un esempio ovviamente, che in un sistema complesso può risolvere un problema, ma in un sistema semplificato risulta oneroso e magari una stringa diretta risulta più semplice da gestire.
Quindi la scelta di un sistema rispetto ad un altro dipende da te, come ti scrivevo in un altro post, bisogna sempre pianificare prima di mettersi a codificare.
Ovviamente questo non risolve nessun problema di spaghetti coding, se c'è troppo codice misto il problema è sempre a monte e dipende dalla pianificazione del progetto.
In ogni caso non dimenticare gli heredoc, risolvono un casino di problemi inerenti all'inserzione di codice complesso nelle pagine che andrai a costruire.
Per codice complesso intendo sempre codice non PHP interno al PHP stesso!
Ultima modifica di Marcolino's; 04-06-2018 a 14:19
cosa usi come editor per PHP?
uno scenario un po' più complesso è il seguente dove gli input possono essere n, come lo risolvete?
codice:<table> <tr> <td> <?php <form name="form" method="post" > <?php echo "<input type='text' size='15' name='codicedisegnoxyz' value='".$_SESSION['codicedisegnoxyz']."'>"; ?> </form> ?> </td> </tr> </table>
passi alla pagina gli input in un array e poi li stampi con un foreach.
In ogni caso per progetti complessi ti consiglio vivamente di utilizzare un template engine.
Un esempio è questo: https://twig.symfony.com/ ma ce ne sono altri.
In questo modo riesci a separare meglio i dati dalla vista e solitamente il codice che ne viene fuori è decisamente migliore.
credo di aver capito, quindi se associo un link (+/-) che consente all'utente di incrementare il numero degli input al bisogno, mi basta incrementare una variabile per ogni click che passarò al ciclo, è così?
Però, quando passo il dato inserito dall'utente per la query1, query2, queryn, di solito si ripetono le n query oppure si settano n variabili e se sono settate non si ripete l'interrogazione?
Alla fine quello che desidero ottenere è una sorta di report di dati con campi text che sfrutto sia per l'input che per l'output e in numero giusto anche per evitare di avere sulla pagina campi non utilizzati come ad esempio: se ne definissi 10 fissi ma ne vengono usati quasi sempre 5, quando l'utente stampa la pagina butta butta un sacco di toner.