Foreach Schleife bei Template System programmieren

Kalma

Erfahrenes Mitglied
Hey,

ich habe mit der Hilfe eines Tutorials meine eigene kleine Template Klasse geschrieben...

Jetzt will ich noch eine Foreachschleife machen, damit man auch Einträge aus der Datenbank holen kann.
Wie müsst ich die einbinden?
Mein Code

PHP:
<?php
	class Template
	{
		var $path			= 'templates/';
		var $file;
		var $var_name		= array();
		var $var_value		= array();
		
		// Variablen festlegen und ersetzen
		// v_name	= Variablen Name
		// v_value	= Variablen Wert
		function assign($v_name, $v_value)
		{
			$this->var_name[]		= $v_name;	# Variablen Name in Array schreiben
			$this->var_value[]		= $v_value;	# Dazugehörigen Wert übernehmen
		}

		// Template anzeigen
		// file		= Dateiname (mit .tpl Endung)
		function display($file_name)
		{
			$this->file	= $this->path.$file_name;
			
			// Output Variable erstellen
			$output		= '';
			
			// Prüfen, ob Datei exisitert
			if(!file_exists($this->file)) {
				die('Template Error: Die Datei '.$this->file.' wurde nicht gefunden!');	
			}
			
			// Datei öffnen
			$file		= fopen($this->file, 'r');
			
			// Fopen - Beschreibung vom Manual
			// Prüft, ob der Dateizeiger am Ende der Datei steht
			// Versteh ich nich, ich benutz es einfach :D
			while(!feof($file)) 
			{
				// Fgets - Beschreibung vom Manual
				// Liest eine Zeile von der Position des Dateizeigers
				// Versteh ich auch nich,  benutz ich auch trotzdem
				
				$buffer		 = fgets($file, 4096);
				$output		.= $buffer;
			}
			
			// Inhalte ersetzen mit for-schleife und preg_replace();
			for($i=0; $i<count($this->var_value); $i++)
			{
				// Array für Search und Replace Wert festlegen
				$search		= array();
				$replace	= array();
				
				// Werte für Search und Replace mit RegExp einbinden
				$search[]	= '/\{\$'.$this->var_name[$i].'\}/i';
				
				$replace[]	= $this->var_value[$i];
				
				// Das Ganze mit Preg_Replace ersetzen
				$output = preg_replace($search, $replace, $output);
			}

			// Datei schließen
			fclose($file);
			
			// Datei ausgeben
			print $output;
		
		}
    }
?>
 
Zuletzt bearbeitet:
Zurück