Phtml là gì và khi nào tôi nên sử dụng phần mở rộng .phtml chứ không phải .php?


233

Tôi đang tự hỏi sự khác biệt giữa các tệp .phtml và .php là gì và khi nào nên sử dụng cái này so với cái kia.

Câu trả lời:


315

Thường không có sự khác biệt, theo như kết xuất trang. Tuy nhiên, đó là một nhà phát triển cơ sở khổng lồ, khi dự án web của bạn phát triển lớn hơn.

Tôi sử dụng cả hai trong thời trang này:

  • Trang .PHP không chứa mã liên quan đến chế độ xem
  • Trang .PHTML chứa ít logic (nếu có) và phần lớn của nó có liên quan đến bản trình bày

74
Được rồi, vì vậy sử dụng phần mở rộng .phtml chứ không phải .php sẽ chỉ là một hình thức được sử dụng để biểu thị một tệp có độ dày html hơn là php.
fvss

12
Đúng. Tận dụng thực tế là một phần mở rộng tệp khác nhau có thể được liên kết với một biểu tượng khác, bạn cũng có thể phân biệt chúng một cách dễ dàng (làm việc với hàng chục hoặc hàng trăm tệp, chỉ cần tổ chức chúng trong thư mục không phải lúc nào cũng cắt nó).
Alex

Ngoài ra còn có tệp nguồn .phps PHP.
CMCDragonkai

.PHTMLvẫn không hoạt động tôi đã viết đoạn mã sau và lưu nó với .phtml và nó không chạy phần php <html> <body> <?php echo "hiiii"; ?> <div> <strong> everybody </strong> </div> </body> </html>
dhpratik

1
@dhpratik Kiểm tra cấu hình máy chủ của bạn, tiện ích mở rộng có thể không được xử lý đúng cách. Nếu cấu hình có vẻ ổn, thì đó là một câu hỏi SO tốt hơn
Alex

101

.phtmllà phần mở rộng tệp tiêu chuẩn cho các chương trình PHP 2. .php3tiếp quản PHP 3. Khi PHP 4 xuất hiện, họ chuyển sang một đường thẳng .php.

Các phần mở rộng tệp cũ hơn đôi khi vẫn được sử dụng, nhưng không phổ biến lắm.


31

Đây là một tệp ext mà một số người đã sử dụng trong một thời gian để biểu thị rằng đó là HTML được tạo bởi PHP. Vì các máy chủ như Apache không quan tâm đến những gì bạn sử dụng như một tệp mở rộng miễn là nó được ánh xạ tới một cái gì đó, bạn có thể tiếp tục và gọi tất cả các tệp PHP của mình .jimyBobSmith và nó sẽ vui vẻ chạy chúng. PHTML chỉ là một xu hướng bắt kịp trong một thời gian.


24
+1 cho .jimmybobsmith Tôi có thể làm điều đó một lần để gây nhầm lẫn cho nhiều người trong nhóm không biết điều này.
o_O

Bạn phải đăng ký tiện ích mở rộng trong apache.conf / httpd.conf của mình mặc dù ... một mẹo khác là includetệp có bất kỳ tiện ích mở rộng nào từ php, nó sẽ chạy dưới dạng php anyways.
SparK

17

Để đưa ra một ví dụ cho những gì Alex nói, ví dụ, nếu bạn đang sử dụng Magento, các tệp .phtml chỉ được tìm thấy trong khu vực / thiết kế dưới dạng tệp mẫu và chứa cả hai dòng HTML và PHP. Trong khi đó, các tệp PHP là mã thuần túy và không có bất kỳ dòng HTML nào trong đó.


6

Các tệp .phtml thông báo cho máy chủ web rằng đó là các tệp html có nội dung động do máy chủ tạo ra ... giống như các tệp .php trong trình duyệt hoạt động. Vì vậy, trong sử dụng hiệu quả, bạn sẽ không gặp phải sự khác biệt nào từ các tệp .phtml đến .php.


5
phtmlthường không bao giờ được truy cập trực tiếp. Hơn nữa phtmlthường không được cấu hình là phần mở rộng PHP hợp lệ trong hầu hết các máy chủ web.
KingCrunch

0

Bạn có thể chọn bất kỳ tiện ích mở rộng nào trên thế giới nếu bạn thiết lập chính xác Apache. Bạn có thể sử dụng .html để làm PHP nếu bạn thiết lập cấu hình Apache của mình.

Tóm lại, tiện ích mở rộng không liên quan gì đến ứng dụng hoặc trang web. Bạn có thể sử dụng cái bạn muốn, nhưng Normaly, sử dụng .php (để không phát minh lại bánh xe)

Nhưng vào năm 2019, bạn nên sử dụng định tuyến và quên đi phần mở rộng ở cuối.

Tôi khuyên bạn nên sử dụng Laravel.

Trả lời @KingCrunch: Đúng, Apache không sử dụng theo mặc định nhưng bạn có thể dễ dàng sử dụng nó nếu bạn thay đổi cấu hình. Nhưng điều này không được khuyến khích vì mọi người đều biết rằng nó không thực sự là một lựa chọn.

Tôi đã thấy các tệp .html đã thực thi PHP bằng cách sử dụng phần mở rộng html.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.