Was ist Phtml und wann sollte ich eine .phtml-Erweiterung anstelle von .php verwenden?


233

Ich frage mich, was der Unterschied zwischen .phtml- und .php-Dateien ist und wann man sie übereinander verwendet.

Antworten:


315

In Bezug auf das Rendern von Seiten gibt es normalerweise keinen Unterschied. Es ist jedoch eine riesige Seite für Facility-Entwickler, wenn Ihr Webprojekt größer wird.

Ich nutze beides auf diese Weise:

  • Die PHP- Seite enthält keinen ansichtsbezogenen Code
  • Die .PHTML- Seite enthält wenig (wenn überhaupt) Datenlogik und der größte Teil davon ist präsentationsbezogen

74
Okay, die Verwendung der Erweiterung .phtml anstelle von .php wäre also nur eine Formalität, die verwendet wird, um eine Datei zu kennzeichnen, die eher HTML-dicht als PHP ist.
fvgs

12
Genau. Durch die Tatsache, dass eine andere Dateierweiterung mit einem anderen Symbol verknüpft werden kann, können Sie sie auch mühelos voneinander unterscheiden (wenn Sie mit Dutzenden oder Hunderten von Dateien arbeiten und sie nur in Ordnern organisieren, wird dies nicht immer abgeschnitten).
Alex

Es gibt auch .phps PHP-Quelldatei.
CMCDragonkai

funktioniert .PHTMLimmer noch. Ich schrieb den folgenden Code und speicherte ihn mit .phtml und es lief nicht der PHP-Teil <html> <body> <?php echo "hiiii"; ?> <div> <strong> everybody </strong> </div> </body> </html>
Dhpratik

1
@dhpratik Überprüfen Sie Ihre Serverkonfiguration, die Erweiterung wird wahrscheinlich nicht richtig behandelt. Wenn die Konfiguration in Ordnung zu sein scheint, ist das besser als SO-Frage für sich allein
Alex

101

.phtmlwar die Standard-Dateierweiterung für PHP 2-Programme. .php3übernahm für PHP 3. Als PHP 4 herauskam, wechselten sie zu einer Straße .php.

Die älteren Dateierweiterungen werden manchmal noch verwendet, sind aber nicht so häufig.


31

Es ist eine Datei ext, die einige Leute für eine Weile verwendet haben, um anzuzeigen, dass es sich um PHP-generiertes HTML handelt. Da es Servern wie Apache egal ist, was Sie als Dateierweiterung verwenden, solange es einer Zuordnung zugeordnet ist, können Sie alle Ihre PHP-Dateien .jimyBobSmith aufrufen und sie gerne ausführen. PHTML war zufällig ein Trend, der sich für eine Weile durchsetzte.


24
+1 für .jimmybobsmith Ich könnte das einmal tun, um viele Leute im Team zu verwirren, die das nicht wissen.
o_O

Sie müssen die Erweiterung in Ihrer apache.conf / httpd.conf registrieren. Ein weiterer Trick besteht darin, dass includedie Datei mit einer beliebigen Erweiterung von PHP als PHP ausgeführt wird.
SparK

17

Um ein Beispiel für das zu geben, was Alex gesagt hat, wenn Sie beispielsweise Magento verwenden, befinden sich .phtml-Dateien nur im Bereich / design als Vorlagendateien und enthalten sowohl HTML- als auch PHP-Zeilen. In der Zwischenzeit sind die PHP-Dateien reiner Code und enthalten keine HTML-Zeilen.


6

.phtml-Dateien teilen dem Webserver mit, dass es sich um HTML-Dateien mit dynamischem Inhalt handelt, die vom Server generiert werden ... genau wie sich .php-Dateien in einem Browser verhalten. Im produktiven Einsatz sollten Sie also keinen Unterschied zwischen .phtml- und .php-Dateien feststellen.


5
phtmlwurden in der Regel nie direkt zugegriffen. Darüber hinaus phtmlist in den meisten Webservern normalerweise keine gültige PHP-Erweiterung konfiguriert.
KingCrunch

0

Sie können jede Erweiterung der Welt auswählen, wenn Sie Apache korrekt eingerichtet haben. Sie können .html verwenden, um PHP auszuführen, wenn Sie es in Ihrer Apache-Konfiguration eingerichtet haben.

Zusammenfassend hat die Erweiterung nichts mit der App oder der Website selbst zu tun. Sie können die gewünschte verwenden, aber normalerweise verwenden Sie .php (um das Rad nicht neu zu erfinden).

Aber im Jahr 2019 sollten Sie das Routing verwenden und am Ende die Erweiterung vergessen.

Ich empfehle Ihnen, Laravel zu verwenden.

Als Antwort auf @KingCrunch: True verwendet Apache es nicht standardmäßig, aber Sie können es problemlos verwenden, wenn Sie die Konfiguration ändern. Dies wird jedoch nicht empfohlen, da jeder weiß, dass dies keine Option ist.

Ich habe bereits HTML-Dateien gesehen, die PHP mit der HTML-Erweiterung ausgeführt haben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.