Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460

    gestione php, meglio funzione o classi ?

    Sto facendo un sistemino in php per la gestione dei template. Secondo voi è meglio implementare un'unica classe che gestisca tutto o fare semplici funzioni separate ?

    Una cosa tipo:
    stampaHeader();
    stampaMenu();
    stampaBreadCrumb();
    stampaContenuti();
    stampaFooter();

    Oppure fare una classe:
    $pagina = new template();
    $pagina->create(id pagina);

  2. #2
    io sono un entusiasta sostenitore della programmazione ad oggetti. Quel che hai detto tu viene molto meglio ad oggetti in quanto sarebbe come creare un oggetto STAMPA e poi usare

    Codice PHP:
    $stampa->Header();
    $stampa->Menu();
    $stampa->BreadCrumb();
    $stampa->Contenuti();
    $stampa->Footer(); 
    come ho detto in un altro post poi usare l'eredità aggiunge vantaggi; ad esempio io posso creare un oggetto PAGINA e un oggetto STAMPA che eredita le proprietà e metodi di PAGINA e si può scrivere qualcosa tipo:

    Codice PHP:
    $stampa = new Stampa();
    // CREATE è definito nell'oggetto PAGINA ma è ereditato dall'oggetto STAMPA
    $stampa->create(id pagina);
    // HEADER è definito in STAMPA
    $stampa->Header('intestazione pagina'); 
    il vantaggio è che se devi modificare ad esempio HEADER devi solo modifciare l'oggetto STAMPA, mentre se usi solo una function magari inserisci la function HEADER in tutte le pagine che la usano: quindi facilità di manutenzione e di aggiornamento perchè puoi aggiungere in ogni momento nuove proprietà e metodi sia ll'oggetto PAGINA che all'oggetto STAMPA; e nelle pagine web devi solo aggiungere la riga che chiama quella nuova proprietà o metodo.

    questo dal mio punto di vista...

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    Anche io opterei per le classi anche se ho meno esperienza..

    Pensavo di fare una classe con all'interno una funzione (che richiamo dai miei script) che prende in input vari parametri della pagina e poi richiama in base ai parametri dati le altre funzioni all'interno della classe per generare la pagina.. Una roba tipo:

    Codice PHP:
    class Pagina {
        function 
    genera ($parametro1$parametro2 ...) {
            switch (
    $parametro1) {
               case 
    0// Genero la index
                  
    $this->stampaHeader();
                  
    $this->stampaMenu();
                  
    $this->stampaContenuti();
                  
    $this->stampaFooter();
              break;
              case 
    1// Genero una pagina interna
                  
    $this->stampaHeader();
                  
    $this->breadCrumb();
                  
    $this->stampaMenu();
                  
    $this->stampaContenuti();
                  
    $this->stampaFooter();
              break;
             default:
                  
    $this->notFound();
                  break;
            }
        }

        function 
    stampaHeader ($parametro ...) {
               ....
        } 
    Come vi sembra come soluzione ?

  4. #4
    OTTIMA DIREI!!! con alcune cosette in più però..
    ad esempio se vuoi inserire un header di default nella funzione stampaHeader creala così:

    Codice PHP:
    public function stampaHeader ($parametro1 "Header di default") {
      echo 
    $parametro1;

    in pratica $parametro1 è un parametro OPZIONALE; se non lo inserisci verrà visualizzato HEADER DI DEFAULT.

    poi specifica sempre il tipo di variabili e funzioni di classe, che devono essere di 3 tipi:

    - PUBLIC: saranno visibili al di fuori della classe e da tutte le classi ereditate.
    - PROTECTED: invisibili dall'esterno ma visibili ad esempio nelle classi ereditate;
    - PRIVATE: visibili solo nella classe che le ha create e non in quelle ereditate.

    Ad esempio se stampaHeader vedi che non la utilizzerai mai al di fuori della classe dichiarala come PRIVATE FUNCTION stampaHeader o come PROTECTED FUNCTION se hai delle classi ereditate.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    All'interno del layout html pensavo di utilizzare degli identificatori ad esempio:
    <title>{%TITOLO%}</title>

    E' più veloce una str_replace o una regexp ?

  6. #6
    beh, qui sarebbe meglio afre la prova con entrambi..e evdere un pò!

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    Grazie per i consigli! Se qualcuno ha altro da suggerire.. si faccia avanti

  8. #8

    ...........

    E' più veloce una str_replace o una regexp ?
    la prima


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  9. #9
    Forse possono tornarti utili le risposte che ho dato in http://forum.html.it/forum/showthrea...readid=1094239 questo topic..

    Questa volta, più che un voto.. è favoreggiamento.

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    Codice PHP:
    foreach ($tags AS $k=>$v) {
                    
    $v = (file_exists($v)) ? $this->parseFile($v) : $v;
                    
    $this->output str_replace('{' $k '}'$v$this->output);

    Partendo da un codice come questo, invece che passare un array con tutti i tag\sostituzioni (che può essere pesante per la memoria), è meglio passare un puntatore all'array in questione oppure il tempo che si risparmia è trascurabile ?

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.