Что такое phtml и когда мне следует использовать расширение .phtml, а не .php?

233

Мне интересно, в чем разница между .phtml и .php файлами, и когда использовать один над другим.

fvgs
источник

Ответы:

316

Обычно нет никакой разницы в том, что касается рендеринга страниц. Однако, когда ваш веб-проект становится больше, это огромная сторона для разработчиков.

Я использую оба этих способа:

  • Страница .PHP не содержит код, связанный с просмотром
  • Страница .PHTML содержит небольшую (если есть) логику данных, и большая ее часть связана с представлением
Alex
источник
74
Хорошо, поэтому использование расширения .phtml вместо .php было бы просто формальностью, используемой для обозначения файла, который является более плотным html, а не php.
2012 г.
12
Точно. Используя тот факт, что другое расширение файла может быть связано с другим значком, вы также можете легко отличить их друг от друга (работая с десятками или сотнями файлов, простая организация их в папке не всегда обрезает его).
Алекс
Там также PHP-файл с исходным кодом .phps.
CMCDragonkai
все .PHTMLеще работает. я написал следующий фрагмент кода и сохранил его с .phtml, и он не запустил часть php <html> <body> <?php echo "hiiii"; ?> <div> <strong> everybody </strong> </div> </body> </html>
dhpratik
1
@dhpratik Проверьте конфигурацию сервера, возможно, расширение не обрабатывается должным образом. Если с конфигурацией все в порядке, это лучше, если это вопрос само по себе
Alex
101

.phtmlбыло стандартным расширением файла для программ PHP 2. .php3взял на себя PHP 3. Когда вышел PHP 4, они переключились на прямой .php.

Старые расширения файлов все еще иногда используются, но не так часто.

Quentin
источник
31

Это файл ext, который некоторые люди некоторое время использовали для обозначения того, что это HTML, сгенерированный PHP. Поскольку такие серверы, как Apache, не заботятся о том, что вы используете в качестве файла ext, если он сопоставлен с чем-то, вы можете продолжить и вызывать все ваши файлы PHP .jimyBobSmith, и он с удовольствием запустит их. PHTML просто оказался тенденцией, которая завоевала популярность некоторое время.

Fluffeh
источник
24
+1 за .jimmybobsmith Я мог бы сделать это один раз, чтобы сбить с толку многих людей в команде, которые этого не знают.
о_О
Вы должны зарегистрировать расширение в вашем apache.conf / httpd.conf, хотя ... еще один трюк includeс файлом с любым расширением из php, он все равно будет работать как php.
SparK
17

Чтобы привести пример того, что сказал Алекс, например, если вы используете Magento, файлы .phtml можно найти только в области / design в качестве файлов шаблонов и содержать строки HTML и PHP. Между тем, файлы PHP являются чистым кодом и не содержат никаких строк HTML.

CommaToast
источник
6

Файлы .phtml сообщают веб-серверу, что это HTML-файлы с динамическим содержимым, которое генерируется сервером ... точно так же, как ведут себя файлы .php в браузере. Таким образом, при продуктивном использовании вы не должны испытывать разницы между файлами .phtml и .php.

Soundz
источник
5
phtmlобычно никогда не получали прямого доступа. Кроме того, phtmlв большинстве веб-серверов обычно не настраивается как допустимое расширение PHP.
KingCrunch
0

Вы можете выбрать любое расширение в мире, если вы правильно настроите Apache. Вы можете использовать .html, чтобы сделать PHP, если вы настроили в своей конфигурации Apache.

В заключение, расширение не имеет ничего общего с приложением или самим сайтом. Вы можете использовать тот, который вы хотите, но обычно используйте .php (чтобы не изобретать велосипед)

Но в 2019 году вы должны использовать маршрутизацию и забыть о расширении в конце.

Я рекомендую вам использовать Laravel.

В ответ на @KingCrunch: True, Apache не использует его по умолчанию, но вы можете легко использовать его, если измените конфигурацию. Но это не рекомендуется, так как все знают, что это не совсем вариант.

Я уже видел файлы .html, которые выполняли PHP с использованием расширения html.

WtrndMOB
источник