2015-09-07 7 views
6

Ho un file index.php che include diverse parti della pagina tramite PHP.Quale convenzione di denominazione è corretta per i file di frammenti di codice HTML inclusi?

Per esempio, questo include la sezione di > < head della pagina HTML nel file index.php:

<!doctype html> 
<html> 
    <head> 
     <?php include($_SERVER['DOCUMENT_ROOT']."/PATH-TO-FILE/head.php"); ?> 
    </head> 

    <body> 
     ... 
    </body> 
</html> 

Il contenuto di "head.php" potrebbe essere qualcosa di simile:

<meta charset="utf-8"> 
<title>Title of page</title> 
<meta name="description" content="Description text..."> 

... 

<link rel="stylesheet" href="stylesheet.css"> 

... 

and so on... 

Tecnicamente "head.php" non è un file PHP perché non contiene alcun codice PHP. Né è un documento HTML valido. È solo un frammento di codice HTML.

Fino ad ora ho sempre chiamato questi file di frammenti di codice HTML * .html o * .php.

La mia domanda è se questo è corretto o no?

Si consiglia di non dargli un'estensione di file? Invece di "head.php" semplicemente "testa"?

Si prega di tenere presente che determinate direttive possono essere impostate nel file .htaccess del server riguardante la memorizzazione nella cache e la scadenza dei file * .html e * .php. Rimuovere l'estensione del file e rinominarlo da "head.php" a "head" può escluderlo dalle direttive menzionate nel file .htaccess.

Durante la ricerca ho trovato questa domanda qui su StackOverflow: What extension should I use for files containing fragments of HTML

Ma questa domanda è stato chiesto 6 anni fa e ci sono così tante estensioni di file diversi menzionati lì, è difficile dire quale usare.

Qualcuno può dare una risposta aggiornata su questo problema?

+1

Come pensi di cambiare il titolo di file diversi? Forse è meglio passare un parametro alla funzione PHP con il nome. In html è importante il titolo. – Braisly

+0

Non sono preoccupato per la tessera di nulla in questo caso. Sto solo chiedendo come denominare il file stesso. Sto chiedendo l'estensione del file che tali file dovrebbero avere. C'è una convenzione di denominazione che copre questo problema? – DSC

risposta

4

Se si utilizza include, si consiglia vivamente di utilizzare *.php. include esegue il codice in esso, anche se è HTML non elaborato. (in tal caso è solo uscita senza ulteriori elaborazioni)

Quindi utilizzare *.php per l'output di file in questo modo. (Altrimenti si potrebbe ottenere un brutto evidenziamento negli editor quando si utilizza <?php un giorno per qualche motivo, inoltre, se qualcuno apre direttamente il file *.html, vedrà il codice raw)

Nel caso in cui si stia utilizzando ad es. readfile(), quindi utilizzare *.html per evidenziare che è solo codice HTML non elaborato, non verrà eseguito mai nulla.

Dipende fondamentalmente da come si include il file.

P.s .: Nessuna estensione. Non proprio consigliabile, di solito è quello che usi per file e directory binari. Nota che le estensioni servono solo a darti la sorveglianza di ciò che accade.

+0

Grazie, questo aiuta a capire il problema. – DSC

2

Vorrei partire come php. Stai includendo quel file con php. Il suo file di testa è inutile come proprio.

E se aggiungessi qualche php a quel file, per ulteriori sviluppi? Aggiungi l'estensione php non è un ciclo di vita efficiente.

Più importan è dove si memorizzano quei file. Mettendoli sotto una cartella dei modelli diremo a tutti che questi file sono modelli.

+0

Grazie, di solito li metto in una cartella chiamata "include". – DSC

+0

Dove metti le tue classi, aiutanti, librerie di terze parti? – Iamzozo

+0

Uso una struttura di cartelle per i diversi moduli e librerie se presenti. Le classi non rientrano in questa categoria. Sono definiti nel foglio di stile. Ma forse intendi qualcos'altro quando dici "lezioni". – DSC

Problemi correlati