Praktik Terbaik untuk PHP

11

Saat melakukan templat seperti single.php dan Anda memiliki php yang dibungkus dengan html, apakah yang terbaik adalah:

  1. Mulai + Stop PHP? sebagai contoh

     <h1 class="post-tilte"><?php the_title(); ?></h1>
     <p class="post-content"><?php the_content();?></p>

Atau

  1. Echo HTML dan Escape PHP? Sebagai contoh -

    <?php echo '<h1 class="post-title">' . get_the_title() . '</h1>
    <p class="post-content"' . get_the_content() . '</p>

Saya tidak punya pilihan prefreed dan mendapati diri saya melakukan keduanya, hanya ingin mendengar beberapa pemikiran

Joey Urbansoul
sumber
6
Metode pertama lebih ramah desainer. Jadi ketika di templat dengan banyak HTML dan sedikit PHP, lakukan yang pertama. Yang kedua berguna ketika ada banyak PHP dan sedikit HTML. Lakukan di functions.phpatau plugins dll.
Fayaz
3
Anda lupa ada jugaprintf( '<h1 class="post-title">%s</h1>', get_the_title() );
Howdy_McGee

Jawaban:

10

Pertanyaan itu hanya relevan, karena WordPress menggunakan campuran dari bahasa pengkodean dan bahasa tata letak. Jika Anda akan menggunakan bahasa templat, sintaks, daripada topik ini tidak relevan. Tetapi untuk pertanyaan Anda. Jika Anda menggunakan contoh sumber Anda untuk Theme, lebih banyak bahasa tata letak seperti html, maka saya lebih suka yang pertama - itu jauh lebih mudah dibaca untuk desainer dan pengguna, harus ada membaca markup. Lebih mudah membuat ikhtisar tentang markup, minta Anda tag buka dan tutup, dll.

Untuk menyertakan dalam plugin, kode dengan lebih banyak logika dan aliran adalah contoh kedua yang lebih mudah diterapkan. Topik utamanya adalah php, bukan markup dan ini harus terlihat di sumbernya. Itu juga titik untuk memikirkan untuk mengecualikan markup ini dalam file template dan memisahkan markup dari logika.

bueltge
sumber
1
Manfaat lain dari yang pertama adalah bahwa editor tertentu akan menyoroti tag pembuka atau penutup yang sesuai jika Anda meletakkan kursor di dalamnya tetapi yang terakhir biasanya akan merusak kenyamanan itu.
MonkeyZeus
5

Seperti dijelaskan dalam jawaban di atas, metode pertama adalah desainer yang ramah & metode kedua mungkin cocok dalam kasus plugin dan kode php kompleks di mana jumlah tag html hanya sedikit.

Tetapi sebagian besar tag templat WordPress memiliki beforedan afterparameter dan lebih tepat untuk menggunakan kode html Anda di dalam panggilan fungsi.

misalnya dalam hal the_titleini memiliki tiga parameter

the_title( $before, $after, $echo );

Anda dapat melewatkan html Anda ke parameter sebelum dan sesudah seperti di bawah ini

the_title( '<h2 class="title">', '</h2>', true );

kelebihan dari metode ini adalah

  • Ramah Desainer
  • tidak akan mencetak tag html jika judul kosong
  • dapat digunakan dalam kode php kompleks serta dalam file templat sederhana
Anwer AR
sumber
0

Metode pertama lebih disukai karena:

  • Ini dengan jelas memisahkan tata letak HTML tetap dari konten dinamis.
  • Lebih mudah dibaca.
  • Itu lebih baik didukung oleh penyorotan sintaks di sebagian besar editor, karena atribut html in-string biasanya tidak dikenali.
  • Ini mencegah Anda dari mencampurkan HTML dan PHP terlalu mudah.

Karena alasan yang disebutkan di atas, metode pertama mengarah ke kode yang lebih mudah dipahami dan dengan demikian lebih mudah dipelihara.

Dalam pengalaman saya, dalam beberapa situasi, tampaknya lebih nyaman menggunakan metode kedua. Namun, itu biasanya karena desain (perangkat lunak) yang lemah dan harus dilihat sebagai tanda peringatan.

not2savvy
sumber
0

Contoh kode Anda marginal karena hanya menampilkan dua baris kode, tapi saya yakin jawaban keseluruhannya cukup situasional. Jika Anda menggunakan baris PHP dalam blok HTML, gunakan metode pertama. Jika Anda menggunakan garis HTML dalam blok PHP, lanjutkan dengan yang kedua.

Nadav
sumber