php: Basit motor şablonu

0 Cevap php

I load_template() adında bir işlevi var

Bu fonksiyon iki parametre vardır

  • $ Isim => şablon adı
  • $ Şablonda değiştirilmesi anahtar => değer değişkenleri => dizi vars.

Ben işin bu istediğiniz yoludur.

şablonu ('test') ben yazabiliyor olmak istiyorum

<?php echo $title; ?>

sonra arayın

load_template('test', array('title' => 'My Title'));

ve onu doldurun var.

Ben bunu nasıl yapabilirim?


Output buffering method. I have come up with the code below.
I am sure it can be improved.

public static function template($name, $vars = array()) {
  if (is_file(TEMPLATE_DIR . $name . '.php')) {
    ob_start();
    extract($vars);
    require(TEMPLATE_DIR . $name . '.php');
    $contents = ob_get_contents();
    ob_end_clean();
    return $contents;
  }
  throw new exception('Could not load template file \'' . $name . '\'');
  return false;
}

0 Cevap