Şablon olarak bir php dosyası eklemek için en iyi yolu nedir?

2 Cevap

Ben çoğunlukla html ve o zaman PHP ile SQL üzerinden bazı şeyler çıkarır basit bir şablon var ve ben başka bir php dosyanın üç farklı noktalar bu şablonu eklemek istiyorum. Bunu yapmanın en iyi yolu nedir? Ben bunu eklemek ve daha sonra içeriğini yazdırabilirsiniz?

Şablonun Örnek:

Price: <?php echo $price ?>

ve, örneğin, ben tarih daha iki gün SQL bir tarihten sonra yalnızca şablon dosyasını gösterecek başka bir php dosyası var.

2 Cevap

En iyi yolu, bir ilişkisel dizi her şeyi geçmektir.

class Template {
    public function render($_page, $_data) {
        extract($_data);
        include($_page);
    }
}

Şablon oluşturmak için:

$data = array('title' => 'My Page', 'text' => 'My Paragraph');

$Template = new Template();
$Template->render('/path/to/file.php', $data);

Sizin şablon sayfa böyle bir şey olabilir:

<h1><?php echo $title; ?></h1>

<p><?php echo $text; ?></p>

Extract sadece echo $title; gibi şeyler yapmak, böylece, yerel ad içine bir ilişkisel dizi açabilirsiniz gerçekten şık fonksiyonudur.

Edit: Ekleme bir değişken '$ sayfa' veya '$ veri' içeren bir şey çıkarmak ihtimale ad çakışmalarını önlemek için altını çiziyor.

Bir dizi / nesne verilerinizi koyun ve ikinci bir argüman olarak aşağıdaki fonksiyon onu geçmek:

function template_contents($file, $model) {
    if (!is_file($file)) {
        throw new Exception("Template not found");
    }
    ob_start();
    include $file;
    $contents = ob_get_contents();
    ob_end_clean();

    return $contents;
}

Daha sonra:

Price: <?php echo template_contents("/path/to/file.php", $model); ?>