2015-09-07 3 views
6

У меня есть файл index.php, который включает в себя различные части страницы через PHP.Какое соглашение об именах является правильным для включенных файлов фрагментов кода HTML?

Например, это включает в себя < головки > часть страницы HTML в файл index.php:

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

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

Содержание "head.php" может быть что-то вроде этого:

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

... 

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

... 

and so on... 

Технически «head.php» не является файлом PHP, поскольку он не содержит кода PHP. Также он не является допустимым HTML-документом. Это всего лишь фрагмент кода HTML.

До сих пор я всегда называл эти файлы фрагментов кода HTML либо * .html, либо * .php.

Вопрос в том, правильно это или нет?

Желательно ли не предоставить ему расширение файла вообще? Вместо «head.php» просто «голова»?

Обратите внимание: некоторые директивы могут быть установлены в файле .htaccess сервера, касающемся кеширования и истечения файлов * .html и * .php. Удаление расширения файла и переименование его с «head.php» на «head» может исключить его из указанных директив в файле .htaccess.

При поиске я нашел этот вопрос здесь, на StackOverflow: What extension should I use for files containing fragments of HTML

Но этот вопрос был задан вопрос 6 лет назад, и есть очень много различных расширений файлов, указанные там, это трудно сказать, какой из них использовать.

Может ли кто-нибудь дать обновленный ответ по этому вопросу?

+1

Как вы думаете, что изменили название разных файлов? Может быть, лучше передать параметр функции PHP с именем. В html важно название. – Braisly

+0

Меня в этом случае не беспокоит плитка. Я просто спрашиваю, как назвать сам файл. Я спрашиваю о расширении файла, который должен иметь такой файл. Существует ли соглашение об именах, которое охватывает эту проблему? – DSC

ответ

4

Если вы используете include, я настоятельно рекомендую использовать *.php. include выполняет код в нем, даже если это необработанный HTML. (в этом случае он просто выводится без дополнительной обработки)

Следовательно, используйте *.php для вывода файлов таким образом. (Кроме того, вы можете получить также плохое выделение в редакторах при использовании <?php один день в нем по какой-либо причине, а также, если кто-то откроет файл *.html напрямую, он увидит исходный код)

Если вы используете, например, readfile(), затем использовать *.html, чтобы подчеркнуть, что это только код HTML, ничего никогда не будет выполнено.

В основном это зависит от того, как вы включаете файл.

P.s .: Без расширения вообще. Не рекомендуется, обычно это то, что вы используете для двоичных файлов и каталогов. Обратите внимание, что расширения действительно просто позволяют вам контролировать, что происходит.

+0

Спасибо, что помогает понять проблему. – DSC

2

Я оставил бы как php. В ваш файл входит файл с php. Сам файл заголовка бесполезен как его собственный.

Что делать, если вы добавляете некоторые php в этот файл для дальнейшей разработки? Добавьте php extension back не эффективный жизненный цикл.

Больше импорта, где вы храните эти файлы. Помещая их под папку шаблонов, кто-нибудь скажет, что эти файлы являются шаблонами.

+0

Спасибо, я обычно помещаю их в папку под названием «includes». – DSC

+0

Где вы размещаете свои классы, помощники, сторонние библиотеки? – Iamzozo

+0

Я использую структуру папок для различных модулей и библиотек, если они есть. Классы не относятся к этой категории. Они определены в таблице стилей. Но, возможно, вы имеете в виду что-то еще, когда говорите «классы». – DSC