Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 26 su 26
  1. #21
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Quote Originariamente inviata da misterx Visualizza il messaggio
    si è avverato ciò che supponevo, il progetto fatica a proseguire per la poca leggibilità del linguaggio, di sicuro manco di esperienza nel suddividere il codice in modo furbo: qualche strategia?
    L'unica strategia è studiare
    Ma non il PHP, ma le strategie e come applicarle al progetto.
    Parliamoci chiaro, hai detto che il primo problema sei tu, che codifichi alla spaghetti code, questo è il male, poi, ti serve una strategia per il progetto.
    Anche se devi realizzare il classico Ciao mondo! devi sempre pianificare chi fa cosa, in che linguaggio, secondo le peculiarità di ognuno del team!
    • Documenta tutto, ma non in modo causale, utilizza uno strumento ed un protocollo già utilizzato da altri e quindi semplice da gestire, per esempio utilizza il protocollo phpdoc o altro che ti piace;
    • Anche il codice deve seguire una via percorribile da tutti, con le stesse strategie di scrittura, per esempio nel PHP ( come in altri linguaggi ) si utilizza il protocollo PSR-4 vedi link sotto;
    • Analizza il problema prima di procedere, carta e matita prima del PC, stabilisci chi fa cosa e identifica nel team chi redigerà le bozze del linguaggio. Attento che questa è la figura più importante e sicuramente quella che ne sa di più di programmazione, perché deve correggere gli errori altrui e proporre soluzioni e semplificazioni;
    • Usa un programma collaborativo per lo sviluppo del codice, di quei bei programmoni che hanno pure la chat interna; se non state tutti nella stessa stanza ti verrà utile per parlarvi;
    • usa un sistema GIT o simile in modo da avere sempre una traccia del codice già scritto, oguno del team poi potrà andare a vere cosa ha scritto l'altro e proporre soluzioni alternative ( e al limite capire che sta sbagliando, o peggio, facendo qualche cosa di assolutamente inutile ).
    • Ovviamente quanto detto vale anche se lavori da solo!



    Insomma è un casino, ma davvero impari moltissimo soprattutto se devi lavorare in team

    Documentati, per esempio comincia da qui: http://it.phptherightway.com/
    PSR-4 https://github.com/php-fig/fig-stand...-autoloader.md
    Ultima modifica di Marcolino's; 04-06-2018 a 14:01

  2. #22
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Quote Originariamente inviata da misterx Visualizza il messaggio
    direi che ci sta in quanto non c'è di mezzo l'interprete, però lo trovo abbastanza caotico scrivere codice mischiato a questo modo, ma se non ci sono alternative, mi devo adeguare
    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:
    codice:
    if ($errore !== false) {
      include(__DIR__ . '/messaggi/messaggio_errore_login.' . $_SESSION['lang'] . '.php');
      echo $messaggio;
    }
    dove $_SESSION['lang'] porta la lingua scelta dall'utente e $messaggio è la variabile interna al file che porta il messaggio stesso.
    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

  3. #23
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577
    cosa usi come editor per PHP?

  4. #24
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577
    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>

  5. #25
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    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.

  6. #26
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    577
    Quote Originariamente inviata da M4V1 Visualizza il messaggio
    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.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.