Hallöchen,
ich versuche mir gerade PHP beizubringen und dabei geht es mir in erster Linie nicht um eleganten und perfomanten Code, sondern um das grundlegene Verständnis und die Funktionalität desselben.
Ich möchte eine Art von "Template-Engine" schreiben. (nicht im herkömmlichen Sinne)
Ich habe also folgende -Dateien, >Ordnerstruktur und >>Unterordner:
Meine Template-Klasse sieht nun so aus (nur Auszüge):
In meiner index.php sieht es so aus:
Fehler 1 ist folgender:
Ich weiß echt nicht weiter.
ich versuche mir gerade PHP beizubringen und dabei geht es mir in erster Linie nicht um eleganten und perfomanten Code, sondern um das grundlegene Verständnis und die Funktionalität desselben.
Ich möchte eine Art von "Template-Engine" schreiben. (nicht im herkömmlichen Sinne)
Ich habe also folgende -Dateien, >Ordnerstruktur und >>Unterordner:
Code:
>images
>includes
-template.php
>>template
-file_start.tpl
-footer.php
-left.php
-navbar.php
-right.php
-header.php
-wrapper.tpl
>styles
-style.css
-index.php
PHP:
<?php
class Template{
/**
* html code of the file including the tags </head> and <body>
* to begin the page
*
* @access private
* @var string
*/
private $file_start ='';
/**
* html code of the file including the tags </body> and </head>
* to end the page
*
* @access private
* @var string
*/
private $file_end ='';
/**
* opentag of the wrapper of the website
*
* @access private
* @var string
*/
private $wrapper_start ='';
/**
* the wrapper_content of the website
*
* @access private
* @var string
*/
private $wrapper ='';
/**
* closetag of the wrapper of the website
*
* @access private
* @var string
*/
private $wrapper_end ='';
//AUSLASSUNG
/*----------- params above <=======> functions below -----------*/
/**
* Beschreibung der Funktion
*
* @access public
*/
public function __construct(){
$file_start = file_get_contents("includes/template/file_start.tpl");
$file_end = '</body></html>';
$wrapper_start = '<div class="container_16" id="wrapper">';
$wrapper = file_get_contents("includes/template/wrapper.tpl");
$wrapper_end = '</div>';
}
/**
* this function prints out the file_start
*
* @access public
*/
public function start_file(){
if (ISSET($file_start))
echo $file_start;
}
/**
* this function prints out the wrapper
*
* @access public
*/
public function print_wrapper(){
echo $wrapper_start;
echo $wrapper;
echo $wrapper_end;
}
//AUSLASSUNG, DA NICHTMEHR RELEVANT FUER DAS PROBLEM
PHP:
<?php
error_reporting(E_ALL);
// Klasse bekannt machen
require_once("includes/template.php");
// neues Template anlegen (Objekt)
$tpl = new Template();
// Funktionen der Klasse nutzen
$tpl->start_file();// FEHLER 1
?>
Warum sind die Variablen NICHT definiert? Sie werden ja vom Konstruktor initialisiert (mit var_dump getestet) gehen aber danach "verloren".Notice: Undefined variable: file_start in F:\Eigene_Projekte\www\htdocs\Tutorials\includes\template.php on line 241
Ich weiß echt nicht weiter.
Zuletzt bearbeitet: