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

    Consigli su ottimizzazione progetto

    Ciao a tutti,

    non so se faccio bene a postare su PHP, ma è il forum che frequento di più e... va da sé... spero di non essere OT.

    Vorrei, se possibile, qualche consiglio per ottimizzare e velocizzare il caricamento di
    questo sito.

    Ho già provveduto ad ottimizzare le Query, a selezionare solo i campi interessati nelle tabelle ad esempio.

    Altri consigli pratici?

    Grazie
    Olio Extravergine d'Oliva Magino
    Prodotti tipici: in vendita olio, pesto ligure e altri prodotti alimentari tradizionali.

  2. #2
    utilizza il/la cache... bellino i sito..

    ci sono delle classi semplici che potrebbero fare x te.. mmh, prova a cercare "caching dei dati"..

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

  3. #3
    Grazie,

    comincerò a spulciare l'argomento. Intanto, se qualcuno avesse degli altri consigli pratici... ve ne sarei grato.
    Olio Extravergine d'Oliva Magino
    Prodotti tipici: in vendita olio, pesto ligure e altri prodotti alimentari tradizionali.

  4. #4
    Ho cominciato a studiare l'articolo su php.html.it riguardante il caching.

    Qualcuno avrebbe qualche altra risorsa pratica da poter consultare?
    Olio Extravergine d'Oliva Magino
    Prodotti tipici: in vendita olio, pesto ligure e altri prodotti alimentari tradizionali.

  5. #5
    guarda QUI .. nella sezione PHP verso pagina 8-9 ci sono degli articoli interessantissimi..

    Quello ke cerchi tu è abbastanza complicato e scriverti le funzioni cosi... non si capirebbe tanto.. Se vuoi cmq ti posto una classe che fà il parse di un template e salva in un file di testo il contenuto.. Ogni tot di tempo che decidi tu aggiorna il file di testo e lo ripropone con le modifiche..

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

  6. #6
    penso che il tempo di caricamento del sito sia dovuto a tutte le librerie pesanti che carichi
    <script src="http://www.kiuweb.it/inc/prototype.js" type="text/javascript"></script>
    <script src="http://www.kiuweb.it/inc/scriptaculous.js" type="text/javascript"></script>
    <script src="http://www.kiuweb.it/inc/effects.js" type="text/javascript"></script>
    <script src="http://www.kiuweb.it/inc/lightbox.js" type="text/javascript"></script>
    <script src="http://www.kiuweb.it/inc/funzioni.js" type="text/javascript"></script>
    <script src="http://www.kiuweb.it/inc/preview.js" type="text/javascript"></script>
    <script src="http://www.kiuweb.it/inc/loader.js" type="text/javascript"></script>
    <script src="http://www.kiuweb.it/inc/unittest.js" type="text/javascript"></script>

    Non potresti limitarle? O sostituirle con qualche libreria meno pesante

  7. #7
    Volentieri, posta pure.

    Grazie 1000
    Olio Extravergine d'Oliva Magino
    Prodotti tipici: in vendita olio, pesto ligure e altri prodotti alimentari tradizionali.

  8. #8
    Si, le librerie js sono effettivamente una palla al piede.

    Il fatto è, ahimé, che ho cominciato a giocherellare con ajax proprio su questo progetto e non sapevo dove sbattere la testa.

    La soluzione più veloce per gli "effettini" :-) è stata affidarsi alla famigerata scriptaculous, che comunque avevo già intenzione di sostituire più avanti. Per ora, però, deve funzionare con queste librerie...
    Olio Extravergine d'Oliva Magino
    Prodotti tipici: in vendita olio, pesto ligure e altri prodotti alimentari tradizionali.

  9. #9
    Questa è la classe:
    template_parser.php
    Codice PHP:
    <?php
    class template_parser {

        var 
    $output;

        function 
    template_parser($tags = array(), $cache_file 'cache.txt'$durata 0$template_file 'index.htm') {
            if (!
    $this->output $this->leggi_cache($cache_file$durata)) {
                (
    file_exists($template_file)) ? $this->output file_get_contents($template_file) : die('Errore: File ' $template_file ' not found');
                
    $this->parser($tags$cache_file);
            }
        }

        function 
    parser($tags$cache_file) {
            if (
    count($tags) > 0) {
                foreach (
    $tags AS $k=>$v) {
                    
    $v = (file_exists($v)) ? $this->parseFile($v) : $v;
                    
    $this->output str_replace('{' $k '}'$v$this->output);
                }
                
    $this->scrivi_cache($cache_file$this->output);
                } else {
                die(
    'Errore: Non ci sono tag assegnati per rimpiazzare i valori');
            }
        }

        function 
    mostra() {
            return 
    $this->output;
        }

        function 
    parseFile($file) {
            
    ob_start();
            include(
    $file);
            
    $contenuto ob_get_contents();
            
    ob_end_clean();
            return 
    $contenuto;
        }

        function 
    leggi_cache($cache_file$durata) {
            if (
    file_exists($cache_file) && filemtime($cache_file) > (time() - $durata)) {
                return 
    file_get_contents($cache_file);
            }
            return 
    FALSE;
        }

        function 
    scrivi_cache($cache_file$contenuto) {
            
    $fp fopen($cache_file'w');
            
    fwrite($fp$contenuto);
            
    fclose($fp);
        }
    }
    ?>
    è in php4.. il funzionamento è abbastanza semplice.. si tratta di creare un file di template anche html tipo: template.htm
    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <
    html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">

    <
    head>
    <
    title>{titolo}</title>
    <
    link rel="stylesheet" style="text/css" media="all" href="***.css" />
    </
    head>

    <
    body>
    <
    div id="testata">{logo}</div
    <
    div id="menu">{menu}</div
    <
    div id="contenitore">

        <
    div id="colonna">{colonna}</div
        <
    div id="contenuti">{com_content}</div

    </
    div
    <
    div id="footer">{footer}</div
    </
    body>
    </
    html
    per utilizzare la classe crei un foglio index.php cosi:
    Codice PHP:
    <?php
    error_reporting
    (E_ALL);
    require_once(
    'template_parser.php');

    $tags = array('logo' => 'logo.inc',
            
    'menu' => 'include/menu.inc.php',
            
    'colonna' => 'colonna.php',
            
    'com_content' => 'switch.php',
            
    'footer' => 'footer.inc'
            
    );

    $temp =& new template_parser($tags'cache.txt'3600'template.htm');

    echo 
    $temp->mostra();
    ?>
    l'array tags ha come chiavi le parole contenute nel file template tra {}.. e come valori dei file che vuoi importare di qualsiasi tipo..

    Il numero 3600 ti dice in secondi ogni quanto vuoi che il file di cache.txt venga aggiornato, in questo caso un'ora..

    Tieni per buono anche il consiglio di robertes cmq..

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

  10. #10
    Scusa, sono un ignorante. :-(

    Quindi dovrei riscrivere le pagine del mio progetto utilizzando, ad esempio, il sistema di template che mi hai fornito, giusto?

    La classe salva nel .txt il caching delle pagine e le ripresenta all'utente?!

    E' corretto quello che ho capito?

    Farò sicuramente delle prove..

    Grazie
    Olio Extravergine d'Oliva Magino
    Prodotti tipici: in vendita olio, pesto ligure e altri prodotti alimentari tradizionali.

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.