Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Raggruppare script tramite funzioni e richiamarle all'occorrenza

    Ciao a tutti, sto studiando da poco PHP e avrei bisogno di una delucidazione: nella realizzazione di una piccola applicazione web, vorrei realizzare un'unica pagina "contenitore" dove conservare gli script utilizzati e richiamarli all'occorrenza nelle varie pagine.. Faccio bene ad usare le funzioni?
    Esempio banalissimo giusto per rendere l'idea:

    pagina script.php
    codice:
    <?php
    
    function saluto()
        {
        $parola = "tutti";
        echo "Ciao a $parola";
        }
    
    function tempo()
        {
        $tempo = "soleggiato";
        echo "Oggi è $tempo";
        }
    
    ?>

    richiamo della funzione in index.php
    codice:
    <head>
    <?php include("script.php"); ?>
    </head>
    
    <html>
    <body>
        <table>
            <tr>
                <td><?php saluto(); ?></td>
            </td>
            <tr>
                <td><?php tempo(); ?></td>
            </tr>    
        </table>
    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Faccio bene ad usare le funzioni?
    Nessuno ti può dire ne "si" ne "no".

    vorrei realizzare un'unica pagina "contenitore" dove conservare gli script utilizzati
    Hai iniziato da poco, quindi non me la sento di dirti nulla sul fatto che possa o non possa essere una buona idea. Piuttosto ti incoraggio a provare a fare come dici e a vedere se incontri delle limitazioni, e se man mano che procedi a costruire la tua applicazione la complessità del lavoro aumenta o diminuisce.

    Prima di imparare ad andare in bici bisogna obbligatoriamente cadere qualche volta, ma è così che si impara.

  3. #3
    Quote Originariamente inviata da .Kurt Visualizza il messaggio
    Nessuno ti può dire ne "si" ne "no".

    Hai iniziato da poco, quindi non me la sento di dirti nulla sul fatto che possa o non possa essere una buona idea. Piuttosto ti incoraggio a provare a fare come dici e a vedere se incontri delle limitazioni, e se man mano che procedi a costruire la tua applicazione la complessità del lavoro aumenta o diminuisce.

    Prima di imparare ad andare in bici bisogna obbligatoriamente cadere qualche volta, ma è così che si impara.
    Ciao e grazie per la risposta.. Sono pienamente d'accordo con te, ma ho scritto qui proprio per conoscere se la strada che sto percorrendo sia giusta o sbagliata.. Si è mai visto un utilizzo della function così come l'ho impostato io?

    Altro esempio, uno degli script che ho realizzato è il seguente, che preleva i dati da un db e un ciclo while me li butta in una select box:

    codice:
    <?php
    
        require("conn.php");
    
            try {
       
                $connessione = new PDO ("mysql: host=$host; dbname=$db", $user, $password);
    
                $connessione -> setAttribute (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                }
                
            catch (PDOException $e) {
                    
                echo $e -> getMessage();
            
                die();
                }
    
                $query = $connessione -> query ('SELECT * FROM ditte');
        
                    echo '<select>';
                    echo '<option>Seleziona una ditta</option>';
        
                    while ($r = $query->fetch())
                    
                        { echo '<option>' . $r['ragSocialeDitta'] . '</option>'; }
        
                    echo '</select><br/>';
    
    ?>
    La suddetta select box che mi ricavo, la vorrei buttare in diversi punti di alcune pagine; per non copiare il codice ogni volta, vorrei buttarla appunto in una pagina dedicata e richiamarla all'occorrenza in modo da poterla eventualmente modificare una volta sola.

    E' una pratica scorretta richiamare tutto quel codice tramite una "function"?

    Ps. La materia mi appassiona da mesi, imparo in fretta, le "cose complicate" me le vado a studiare.. Ho solo bisogno di sapere se per questo genere di cose è più indicato una function, un include, una class, ecc.

  4. #4
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    per non copiare il codice ogni volta, vorrei buttarla appunto in una pagina dedicata e richiamarla all'occorrenza in modo da poterla eventualmente modificare una volta sola.
    Stai sollevando le giuste problematiche, questo indica che sei sulla strada giusta. Da un lato vuoi evitare di duplicare il tuo codice e per farlo ti stai chiedendo se convenga incapsulare questi "pezzi di codici" in delle funzioni per poterli riusare altrove. Ed hai pensato che in questo modo quando hai la necessita di modificare qualcosa basterà modificare il comportamento della funzione invece di andare a modificare tutti i file in cui ho usato quella funzionalità.

    Ma aspetta. "evitare di duplicare il tuo codice"? "incapsulare"? "riusare altrove"? Senza che tu te ne sia reso conto, hai iniziato a parlare dei problemi che la programmazione ad oggetti ti consente di risolvere. Soprattutto per quanto riguarda la tua intenzione di "modificare una volta sola", OOP ti viene in aiuto, ma non ti nascondo che è una delle cose più difficili da ottenere.

    Per concludere
    Faccio bene ad usare le funzioni?
    Ti dico "Si" perché il ragionamento per risolvere le problematiche sollevate non è sbagliato, ma ti dico anche "No" perché non è con una lista di funzioni che wrappano pezzi di codici da poter riutilizzare che puoi risolverli.
    Ultima modifica di .Kurt; 07-02-2015 a 21:35

  5. #5
    Quindi la risposta è OOP. L'avevo già messo in lista fra le cose da studiare.. Avevo intuito qualcosa, ma ora mi hai dato la conferma . Grazie per le dritte

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    539
    ti suggerisco anche la lettura di questo articolo,
    http://coredogs.com/lesson/form-and-...ation-one-page
    non badare al "validation" ma al concetto illustrato

  7. #7
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Quote Originariamente inviata da marino51 Visualizza il messaggio
    ti suggerisco anche la lettura di questo articolo,
    http://coredogs.com/lesson/form-and-...ation-one-page
    non badare al "validation" ma al concetto illustrato
    Quale sarebbe il concetto illustrato? E' solo uno dei tanti tutorial rivolto a chi ha conosciuto php solo il giorno prima. Oltretutto è anche uno di quelli fatti male, proprio perché è rivolto a chi non conosce php, negli esempi non si possono vedere "print ' value="' . $_POST['frisbees'] . '"'; " senza comunque una nota a parte che indica il come e il perché non si dovrebbe fare.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    539
    Quote Originariamente inviata da .Kurt Visualizza il messaggio
    Quale sarebbe il concetto illustrato? E' solo uno dei tanti tutorial rivolto a chi ha conosciuto php solo il giorno prima. Oltretutto è anche uno di quelli fatti male, proprio perché è rivolto a chi non conosce php, negli esempi non si possono vedere "print ' value="' . $_POST['frisbees'] . '"'; " senza comunque una nota a parte che indica il come e il perché non si dovrebbe fare.
    ogni persona è libera di vedere quello che vuole ed interpretarne i contenuti
    Ultima modifica di marino51; 08-02-2015 a 13:50

  9. #9
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Quote Originariamente inviata da marino51 Visualizza il messaggio
    ogni persona è libera di vedere quello che vuole ed interpretarne i contenuti
    Okay, ma se io ora ti linko la foto di un gatto tu giustamente mi dici "ma che cavolo centra con la discussione?". Se poi io ti rispondo che "ci vedi quello che vuoi vedere e la interpreti come vuoi", allora possiamo continuare a discutere con foto di gatti.












  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    539
    continua pure con te stesso

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 © 2025 vBulletin Solutions, Inc. All rights reserved.