Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

Erweiterte Konfiguration

Dies ist eine Weiterführung der Basis Installation, bitte lesen Sie diese zuerst!

Ein flexiblerer Weg um Smarty aufzusetzen ist, die Klasse zu erweitern und eine eigene Smarty-Umgebung zu initialisieren. Anstatt immer wieder die Verzeichnisse zu definieren, kann diese Aufgabe auch in einer einzigen Datei erledigt werden. Beginnen wir, indem wir ein neues Verzeichnis namens '/php/includes/guestbook/' erstellen und eine Datei namens 'setup.php' darin anlegen.

Example 2.12. Editieren von /php/includes/guestbook/setup.php


<?php

// Smarty Library Dateien laden
define('SMARTY_DIR','/usr/local/lib/php/Smarty/');
require(SMARTY_DIR.'Smarty.class.php');

// ein guter Platz um Applikations spezifische Libraries zu laden
// require('guestbook/guestbook.lib.php');

class Smarty_GuestBook extends Smarty {

   function Smarty_GuestBook()
   {
  // Konstruktor. Diese Werte werden f&uuml;r jede Instanz automatisch gesetzt

  $this->Smarty();

  $this->template_dir = '/web/www.example.com/smarty/guestbook/templates/';
  $this->compile_dir = '/web/www.example.com/smarty/guestbook/templates_c/';
  $this->config_dir = '/web/www.example.com/smarty/guestbook/configs/';
  $this->cache_dir = '/web/www.example.com/smarty/guestbook/cache/'; 
  
  $this->caching = true;
  $this->assign('app_name','Guest Book');
   }

}
?>

    

Technische Bemerkung

In unserem Beispiel werden die Library Dateien ausserhalb der DocumentRoot abgelegt. Diese Dateien könnten sensitive Informationen enthalten, die wir nicht zugänglich machen möchten. Deshalb legen wir alle Library Dateien in '/php/includes/guestbook/' ab und laden sie in unserem 'setup.php' Skript, wie Sie im oben gezeigten Beispiel sehen können.

Nun passen wir index.php an, um 'setup.php' zu verwenden:

Example 2.13. Editieren von /web/www.example.com/docs/guestbook/index.php


<?php

require('guestbook/setup.php');

$smarty = new Smarty_GuestBook;
$smarty->assign('name','Ned');
$smarty->display('index.tpl');

?>

   

Wie Sie sehen können, ist es sehr einfach eine Instanz von Smarty zu erstellen. Mit Hilfe von Smarty_GuestBook werden alle Variablen automatisch initialisiert.

Comments
No comments for this page.

Advertisement