Co to jest phtml i kiedy powinienem używać rozszerzenia .phtml zamiast .php?


233

Zastanawiam się, jaka jest różnica między plikami .phtml i .php i kiedy należy używać jednego nad drugim.

Odpowiedzi:


316

Zazwyczaj nie ma różnicy, jeśli chodzi o renderowanie strony. Jest to jednak ogromna strona dewelopera obiektu, gdy Twój projekt internetowy staje się większy.

Korzystam z obu w następujący sposób:

  • Strona .PHP nie zawiera kodu związanego z wyświetlaniem
  • Strona .PHTML zawiera niewiele logiki danych (jeśli w ogóle), a większość z nich dotyczy prezentacji

74
W porządku, więc użycie rozszerzenia .phtml zamiast .php byłoby po prostu formalnością używaną do oznaczenia pliku, który jest bardziej gęsty niż HTML.
fvgs,

12
Dokładnie. Wykorzystując fakt, że inne rozszerzenie pliku można skojarzyć z inną ikoną, możesz je również łatwo rozdzielić (praca z dziesiątkami lub setkami plików, samo uporządkowanie ich w folderze nie zawsze go wycina).
Alex

Jest też plik źródłowy PHP .phps.
CMCDragonkai

ma .PHTMLnadal działać. napisałem następujący fragment kodu i zapisałem go z .phtml i nie uruchomiłem części php <html> <body> <?php echo "hiiii"; ?> <div> <strong> everybody </strong> </div> </body> </html>
dhpratik

1
@dhpratik Sprawdź konfigurację serwera, prawdopodobnie rozszerzenie nie jest obsługiwane poprawnie. Jeśli konfiguracja wydaje się być w porządku, lepiej samemu zadać to pytanie SO
Alex

101

.phtmlbyło standardowym rozszerzeniem plików dla programów PHP 2. .php3przejął PHP 3. Kiedy PHP 4 wyszło, przełączyli się na strita .php.

Starsze rozszerzenia plików są nadal czasami używane, ale nie są tak powszechne.


31

Jest to rozszerzenie pliku, którego niektórzy używali przez jakiś czas, aby zaznaczyć, że był to HTML wygenerowany przez PHP. Ponieważ serwery takie jak Apache nie dbają o to, czego używasz jako rozszerzenie pliku, o ile jest ono zamapowane na czymś, możesz śmiało wywołać wszystkie swoje pliki PHP .jimyBobSmith i z przyjemnością je uruchomi. PHTML okazał się być trendem, który od dłuższego czasu się pojawił.


24
+1 dla .jimmybobsmith Mógłbym to zrobić raz, aby zmylić wiele osób w zespole, które tego nie wiedzą.
o_O

Musisz zarejestrować rozszerzenie w apache.conf / httpd.conf, chociaż ... inną sztuczką jest includeplik z dowolnym rozszerzeniem php, i tak będzie on działał jako php.
SparK 18.01.19

17

Aby dać przykład temu, co powiedział Alex, jeśli na przykład używasz Magento, pliki .phtml można znaleźć tylko w obszarze / design jako pliki szablonów i zawierają zarówno wiersze HTML, jak i PHP. Tymczasem pliki PHP są czystym kodem i nie zawierają żadnych linii HTML.


6

Pliki .phtml informują serwer WWW, że są to pliki HTML z dynamiczną zawartością generowaną przez serwer ... podobnie jak pliki .php w przeglądarce zachowują się. Tak więc w produktywnym użyciu nie powinno być żadnej różnicy między plikami .phtml i .php.


5
phtmlzwykle nigdy nie były dostępne bezpośrednio. Co więcej, phtmlzazwyczaj nie jest skonfigurowany jako prawidłowe rozszerzenie PHP na większości serwerów.
KingCrunch

0

Możesz wybrać dowolne rozszerzenie na świecie, jeśli poprawnie skonfigurujesz Apache. Możesz użyć .html do zrobienia PHP, jeśli skonfigurowałeś w konfiguracji Apache.

Podsumowując, rozszerzenie nie ma nic wspólnego z samą aplikacją lub witryną. Możesz użyć tego, który chcesz, ale normalnie użyj .php (aby nie wynaleźć koła ponownie)

Ale w 2019 r. Powinieneś użyć routingu i na końcu zapomniałeś o rozszerzeniu.

Polecam używanie Laravel.

W odpowiedzi na @KingCrunch: Prawda, Apache nie używa go domyślnie, ale możesz go łatwo użyć, jeśli zmienisz config. Ale nie jest to zalecane, ponieważ wszyscy wiedzą, że tak naprawdę nie jest to opcja.

Widziałem już pliki .html, które wykonały PHP przy użyciu rozszerzenia HTML.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.