PHP için En İyi Uygulama


11

Single.php gibi bir şablon yaparken ve html içine sarılmış php varsa, en iyisi:

  1. PHP'yi Başlat + Durdur? Örneğin

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

Veya

  1. Yankı HTML ve Kaçış PHP? Örneğin -

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

Tercihli bir seçimim yok ve kendimi her ikisini de yapıyor buluyorum, sadece bazı düşünceleri duymayı merak ediyorum


6
İlk yöntem daha tasarımcı dostu. Çok HTML ve biraz PHP içeren şablonlarda ilkini yapın. İkincisi, çok fazla PHP ve biraz HTML olduğunda yararlıdır. Bunu yapın functions.phpveya eklentiler vb.
Fayaz

3
Ayrıca unuttunprintf( '<h1 class="post-title">%s</h1>', get_the_title() );
Howdy_McGee

Yanıtlar:


10

Bu soru sadece alakalı, çünkü WordPress bir kodlama dilinden ve düzen dilinden bir karışım kullanıyor. Bir şablon dili kullanırsanız, sözdizimi, bu konuyla alakalı değildir. Ama sorunuza. Örnek kaynağınızı html gibi bir düzen dili olarak kullanıyorsanız, ilkini tercih ederim - tasarımcı ve kullanıcılar için çok daha okunabilir, işaretlemeyi okumalısınız. İşaretleme hakkında bir genel bakış oluşturmak, açık ve kapalı etiketleri vb. Yapmak daha kolaydır.

Eklentilere dahil etme için, daha fazla mantık ve akış içeren kodun uygulanması daha kolay ikinci örnektir. Ana konu biçimlendirme değil php ve bu kaynakta görünür olmalıdır. Bu da şablon dosyalarında bu işaretlemeyi hariç tutmayı ve işaretlemeyi mantıktan ayırmayı düşünmek için bir nokta.


1
Birincisinin bir başka yararı da, bazı düzenleyicilerin imlecinizi içine yerleştirirseniz karşılık gelen açılış veya kapanış etiketini vurgulamasıdır, ancak ikincisi genellikle bu kolaylığı kıracaktır.
MonkeyZeus


5

Yukarıdaki yanıtta açıklandığı gibi, ilk yöntem tasarımcı dostu ve ikinci yöntem, html etiketlerinin sayısının sadece az olduğu eklentiler ve karmaşık php kodları için uygun olabilir.

Ancak WordPress şablon etiketlerinin çoğunda beforeve afterparametreleri vardır ve html kodlarınızı işlev çağrısı içinde kullanmak daha uygundur.

örneğin the_titleüç parametresi varsa

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

html'nizi aşağıdaki gibi parametrelerden önce ve sonra geçirebilirsiniz

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

bu yöntemin avantajları

  • Tasarımcı Dostu
  • başlık boşsa html etiketlerini yazdırmaz
  • basit şablon dosyalarında olduğu gibi karmaşık php kodlarında da kullanılabilir

0

İlk yöntem tercih edilir çünkü:

  • Sabit HTML düzenini dinamik içeriklerden açıkça ayırır.
  • Okuması daha kolaydır.
  • Çoğu düzenleyicide sözdizimi vurgulaması ile daha iyi desteklenir, çünkü dize içi html öznitelikleri genellikle tanınmaz.
  • HTML ve PHP'yi çok kolay bir şekilde karıştırmanızı önler.

Yukarıda belirtilen nedenlerden dolayı, ilk yöntem, anlaşılması ve dolayısıyla bakımı daha kolay olan koda yol açar.

Deneyimlerime göre, bazı durumlarda, ikinci yöntemi kullanmak daha uygun görünebilir. Ancak, bu genellikle zayıf (yazılım) tasarımdan kaynaklanır ve uyarı işareti olarak görülmelidir.


0

Sen kod örneği marjinal çünkü sadece iki satır kod gösterir, ama genel cevap oldukça durumsal olduğuna inanıyorum. HTML bloğu içinde bir PHP satırı kullanıyorsanız, ilk yöntemi kullanın. Bir PHP bloğu içinde bir HTML satırı kullanıyorsanız, ikincisiyle devam edin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.