Apa itu phtml, dan kapan saya harus menggunakan ekstensi .phtml daripada .php?


233

Saya bertanya-tanya apa perbedaan antara file .phtml dan .php, dan kapan harus menggunakannya.

Jawaban:


316

Biasanya tidak ada perbedaan, sejauh rendering halaman berjalan. Ini adalah sisi pengembang fasilitas besar, ketika proyek web Anda tumbuh lebih besar.

Saya menggunakan keduanya dengan cara ini:

  • Halaman .PHP tidak mengandung kode terkait tampilan
  • Halaman .PHTML berisi sedikit (jika ada) logika data dan sebagian besar terkait dengan presentasi

74
Baiklah, jadi menggunakan ekstensi .phtml daripada .php hanya akan menjadi formalitas yang digunakan untuk menunjukkan file yang lebih padat daripada html php.
fvgs

12
Tepat. Memanfaatkan fakta bahwa ekstensi file yang berbeda dapat dikaitkan dengan ikon yang berbeda, Anda juga dapat membedakannya dengan mudah (bekerja dengan puluhan atau ratusan file, hanya mengaturnya dalam folder tidak selalu memotongnya).
Alex

Ada juga file sumber .phps PHP.
CMCDragonkai

tidak .PHTMLmasih bekerja. saya menulis potongan kode berikut dan menyimpannya dengan .phtml dan tidak menjalankan bagian php <html> <body> <?php echo "hiiii"; ?> <div> <strong> everybody </strong> </div> </body> </html>
dhpratik

1
@ dhpratik Periksa konfigurasi server Anda, ekstensi mungkin tidak ditangani dengan benar. Jika konfigurasi tampak oke, itu lebih baik sebagai pertanyaan SO sendiri
Alex

101

.phtmladalah ekstensi file standar untuk program PHP 2. .php3mengambil alih untuk PHP 3. Ketika PHP 4 keluar mereka beralih ke lurus .php.

Ekstensi file yang lebih lama kadang-kadang masih digunakan, tetapi tidak begitu umum.


31

Ini adalah file ext yang digunakan beberapa orang untuk sementara waktu untuk menyatakan bahwa itu adalah HTML yang dihasilkan PHP. Karena server seperti Apache tidak peduli apa yang Anda gunakan sebagai file ext asalkan dipetakan ke sesuatu, Anda bisa melanjutkan dan memanggil semua file PHP Anda .jimyBobSmith dan itu akan dengan senang hati menjalankannya. PHTML kebetulan menjadi tren yang menarik untuk sementara waktu.


24
1 untuk .jimmybobsmith Saya mungkin pernah melakukannya untuk membingungkan banyak orang di tim yang tidak mengetahui hal ini.
o_O

Anda harus mendaftarkan ekstensi di apache.conf Anda / httpd.conf meskipun ... trik lain adalah untuk includefile dengan ekstensi apa pun dari php, itu akan berjalan sebagai php anyways.
SparK

17

Untuk memberikan contoh pada apa yang dikatakan Alex, jika Anda menggunakan Magento, misalnya, file .phtml hanya dapat ditemukan di area / desain sebagai file template, dan berisi baris HTML dan PHP. Sementara itu file PHP adalah kode murni dan tidak memiliki baris HTML di dalamnya.


6

File .phtml memberi tahu server web bahwa itu adalah file html dengan konten dinamis yang dihasilkan oleh server ... seperti halnya file .php di peramban berperilaku. Jadi, dalam penggunaan yang produktif Anda seharusnya tidak mengalami perbedaan dari file .phtml ke .php.


5
phtmlbiasanya tidak pernah diakses secara langsung. Selain phtmlitu biasanya tidak dikonfigurasi sebagai ekstensi PHP yang valid di sebagian besar webservers.
KingCrunch

0

Anda dapat memilih ekstensi apa pun di dunia jika Anda memasang Apache dengan benar. Anda dapat menggunakan .html untuk melakukan PHP jika Anda mengatur di konfigurasi Apache Anda.

Kesimpulannya, ekstensi tidak ada hubungannya dengan aplikasi atau situs web itu sendiri. Anda dapat menggunakan yang Anda inginkan, tetapi biasanya, gunakan .php (untuk tidak menemukan kembali roda)

Namun pada tahun 2019, Anda harus menggunakan perutean dan lupa tentang ekstensi di akhir.

Saya sarankan Anda menggunakan Laravel.

Sebagai jawaban untuk @ KingCrunch: Benar, Apache tidak menggunakannya secara default tetapi Anda dapat dengan mudah menggunakannya jika Anda mengubah konfigurasi. Tapi ini tidak direkomendasikan karena semua orang tahu itu bukan pilihan.

Saya sudah melihat file .html yang mengeksekusi PHP menggunakan ekstensi html.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.