"Echo"

4 Cevap

Bu bir değişken tüm indeksi kaydetmek ve sonra da bu yankı için iyi bir yöntem midir? örneğin

<?php
    $txt='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   <html xmlns="http://www.w3.org/1999/xhtml">
   <head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
   <link rel="stylesheet" type="text/css" href="css/style.css"/>
   <title>Untitled Document</title>
   </head>

   <body>
  <div class="wrapper">
      <div class="header">
        <h2>'.heaf_func().'</h2>
      </div>
      <div class="content">content</div>
      <div class="footer">footer</div>
  </div>
  </body>
  </html>';
  echo $txt;

?>

4 Cevap

Genellikle, hayır. Çıktı tamponlama yapmak gerekirse, sadece kullanmak the output buffering API. Bunu post-processing yapmak için çıktı almak gerek bile, bunu yapabilirsiniz kullanarak ob_get_contents. Çoğu sayfalarında büyük bir anlaşma olmayacak, ama daha iyi gerçekleştirmek için çalışıyoruz ne için optimize çünkü büyük sayfalarda veya ağır sunucu yükü altında çıktı tamponlama desteği kullanmanız gerekir.

Genellikle, bu tür düşündüğünü konum ne gibi bir yöntem bakarken, "ne bu bana kazanç nedir?" Kendinize sorun Yukarıdaki örnekte açıkça önemsiz olduğunu, ancak sonuçlar post-processing planlıyoruz sürece, ne sen kazanmak nedir?

EDIT:

Ben hem PHP-XML-ve XML-in-PHP çeşitli projelere yaklaşımları kullandım. Benim deneyim herhangi bir önemli boyutu PHP-in-XML bir proje olduğunu (ya da HTML, ama ben her zaman XML ya da XHTML oluşturmaya çalıştığınızda) sonunda, korumak için bir ağrı olur kötü spagetti kod dönüşür ise XML-in- PHP yaklaşım sonuçta da sürdürmek istemiyorum dize işleme kod bir karmaşa içine balonlar.

Genel olarak, ben bir MVC ile gidiş tavsiye ederim (vb MVVM, MVP, - size kalmış) her web uygulaması için bir çerçeve, dili ne olursa olsun. Doğru uygulandığı takdirde, ayrıca çerçeve karmaşıklığı bakım ve size kazanç uzayabilirlik modülerlik ve kolaylığı ile telafi daha fazladır. Eğer ihtiyacı hissediyorum ya da bir çerçeve (gerçi, yine, ben ŞİDDETLE tavsiye) hedeflemek isteyen yoksa, ben genellikle bu kurallara uyun:

  1. Mümkün değerler basit dahil edilmesi PHP-in-XML sınırlamak. Örneğin, <h1><?php echo $title; ?></h1> (, tekrarlama, belki, başka ben genellikle soyut ki uzak olsa da) kendi spagetti kod mantığı dahil önlemek için deneyin.
  2. Mümkün kullanarak XML belgeleri oluşturmak yerine çıkışa ham değerler yazma XML API. XML benim deneyim, en az üretim apps ekstra ilk yatırım, iyi değer kolayca dönüştürülebilir olma avantajına sahiptir.
  3. Istemci render için uygulamak ve istemci kendi render yapalım bir biçembentin konumunu belirten bir xml-stylesheet işleme talimatı ile verileri temsil eden bir XML belge gönderin. Aksi taktirde bir stylesheet (XSLT, değil CSS) olarak veri-to-sunum dönüştürme mantığı koymak ve dönüşüm sunucu tarafı yok. Ben gerçekten beni sağlar veri ve sunum arasındaki mesafeyi tadını çıkarın.

Ben şahsen bu gibi olmak için örnek değiştirmek istiyorum;

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   <html xmlns="http://www.w3.org/1999/xhtml">
   <head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
   <link rel="stylesheet" type="text/css" href="css/style.css"/>
   <title>Untitled Document</title>
   </head>

   <body>
  <div class="wrapper">
      <div class="header">
        <h2><?php echo heaf_func(); ?></h2>
      </div>
      <div class="content">content</div>
      <div class="footer">footer</div>
  </div>
  </body>
  </html>

Bunu neden yapmak istediğiniz bir soru. Sadece bir değişken koyarak ve o buna değer değil yankılanan ama daha da dize (string değiştirme, vb) çalışmanız gerekiyorsa yararlıdır.

Böyle devasa çok satırlı metin içine değişken atamaları yapıyor olması için gidiyoruz eğer, metin blob yapar tırnak, kaçmak size zorlama değil avantajına sahiptir HEREDOC sözdizimi, kullanmayı düşünebilirsiniz okumak ve tweaks gerek olmadan başka şeylerin içine / yapıştır kesilmiş çok daha kolay.

Bir daha okunabilir olurdu için yapmanız gereken eğer seçiminde olduğu gibi PHP-HTML-ya da HTML-in-PHP, hepsi aşağı gelir. Eklemek 500 HTML hatları, ve PHP sadece küçük bir bit varsa, o PHP-in-HTML için gitmek, ve tersi. Yakın bir bile-denge için, bu tercih ne olursa olsun gelirdi.