Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Include di PHP

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    9

    Include di PHP

    Stò realizzando un sito web in cui ho la necessità di fattorizzare diverse parti come menu, footbar e header per evitare che ogni volta che cambio pagina tramite link mi ricarichi tutto il contenuto delle suddette parti. Avevo pensato di cambiare il contenuto della pagina utilizzando delle funzioni ajax ... ad esempio utlizzare una funzione richiamata da un link nel menu che modifica il contenuto del body sostituendolo con uno apposito letto in un file txt (ad esempio).
    Altrimenti avevo pensato anche al comando include() di php ma essendo lato server ogni volta il server riprocessa per ogni pagina anche tutte le parti comuni o sbaglio? Qual'è la prassi utilizzata per queste situazioni?
    Grazie

  2. #2
    Dipende da quanto sono complesse le parti in gioco. Un footer e un header di solito sono molto semplici, con pochissime query, quindi include o require potrebbero bastare ed essere sufficienti.
    Se invece la gestione di queste parti diventa complicata per via di parametrizzazioni molto spinte (es. ogni utente ha un suo menù, un so header, un suo footer eccetera) potrebbe valere la pena usare altre tecniche che in pratica eseguono i calcoli solo all'inizio e poi cambiano il contenuto, lasciando invariate le altre parti, come indichi anche tu.
    Per poter fare quest'ultima, direi che ajax/xajax è la scelta ideale e per farlo puoi usare qualcosa del genere
    codice:
    <html>
    <head>
    </head>
    <body>
    <div id="contenuto_statico">
    bla bla bla
    </div>
    <div id="contenuto_dinamico">
    ble ble ble
    </div>
    </body>
    </html>
    Dentro il div contenuto_dinamico inserisci tutta la parte "dinamica" del sito e i vari link sono tutti del tipo
    codice:
    testo link
    Questo però ti obbliga a dover strutturare tutto in modo da funzionare con ajax e non è semplicissimo (anche se fattibilissimo...ho costruito un intero gestionale che gira solo con ajax).

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    9
    Ok grazie mille per la risposta, allora lascerò gli include in quanto sono molto semplici nella loro struttura, però per quanto riguarda le voci del menu che modificano il contenuto della pagina potrei utilizzare delle chiamate ajax ma in questo modo avrò una sola pagina che modifica dinamicamente il suo contenuto ... mi chiedo come si comporterebbe l'indicizzazione dei motori di ricerca in un sito del genere??

  4. #4
    I motori di ricerca purtroppo non indicizzano contenuto generato dinamicamente da script lato client, ma ho letto in giro che esiste un modo per "dire" ai crawler di leggere anche i contenuti ajax. Cerca un po' su google, troverai sicuramente qualcosa.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    9
    Ho deciso di usare gli include per le parti leggere e comuni mentre visto che nel sito web che stò facendo devo caricare anche una grossa fetta di pubblicità per gli sponsor (l'ho posizionata sotto il footer) ho provato con "successo" (nel senso che funziona e teoricamente secondo me dovrebbe velocizzare il caricamento della pagina) ad usare jquery per caricare questi contenuti.
    Mi spiego meglio, utilizzo jquery per fare in modo che quando la pagina è ready (ovvero ha già definito il DOM) faccio partire uno script che riempie dei div per contenere testo e immagini relativi agli sponsor. La mia idea è dare priorità alla pagina e al suo contenuto e in ultimo caricare questi contenuti? Ciò che faccio è corretto o stò sbagliando qualcosa?

    Questo è un esempio del codice Jquery che uso:
    $(document).ready(function(){
    $("#sponsor").load("sponsor.html");
    });

    mentre le parti più leggere e statiche le gestisco tramite include('./file.html') di PHP ... il mio scopo è velocizzare il caricamento della pagina evitando per quanto possibile ritardi nella visualizzazione della pagina e cose di questo tipo.
    Visto che ci sono se ad esempio devo caricare una libreria javascript come ad esempio Jquery come faccio a fargliela caricare solo quando realmente serve e non subito all'inizio del rendering html??
    Grazie mille per le risposte

  6. #6
    Non vedo nulla di controindicato nel caricare alcune parti di "grafica" in differita, anzi è una buona idea. Però conviene se dai uno sguardo alle politiche degli sponsor, prima che abbiano delle strane limitazioni che ti portano a una sospensione o peggio ban.

    Riguardo la seconda domanda invece, non ho idea, mi spiace.


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.