php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.03.2010, 19:16  
Benutzer
 
Registriert seit: 22.12.2008
Beiträge: 74
PHP-Kenntnisse:
Anfänger
T!G3R befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Template Parser - Problem

Hallo Leute,
ich hab da ein Problem.

Ich schreibe gerade ein Templatesystem und hänge an folgender Stelle:

Es funktioniert alles, also ich bekomme eine wunderschöne Ausgabe nur werden die Inhalte der Variablen nicht ausgegeben.

In meinem System gibt es vier verschiedene Dateien, eine der Parser, eine für die Template Klasse, und eine test Template und ne test php-Datei.
~edit: Thema erledigt

Jetzt meine Frage: Was mache ich falsch?

mfg Kasimir

Geändert von T!G3R (07.03.2010 um 22:18 Uhr).
T!G3R ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.03.2010, 21:14  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Also die Meldung ist eigentlich eindeutig.
Es gibt die Variable "$variable" und das Array "$array" nicht, die Du augeben willst.

Ich würde vermuten das liegt an dieser Zeile:
PHP-Code:
$parsed_text .= str_ireplace("$""\$"$fp1[$count])."\r\n"
weil Du da die $-Zeichen zur Ausgabe formatierst...

Ich weiß nicht, was genau dann passiert, aber probier's mal ohne...
Arne Drews ist offline  
Alt 07.03.2010, 21:20  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Wo sollen die Vraiablen auch herkommen im Methodenkontext?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 07.03.2010, 21:50  
Benutzer
 
Registriert seit: 22.12.2008
Beiträge: 74
PHP-Kenntnisse:
Anfänger
T!G3R befindet sich auf einem aufstrebenden Ast
Standard

die werden in der ausgabe datei deklariert:
PHP-Code:
<?php
$variable 
"Variable erfolgreich!";
$array['variable'] = "Array erfolgreich!";

require 
"tpl_class.php";

// normalerweise steht das in der global
$tpl = new Template("header""footer");
//name     Klasse    Header    Footer    festlegen

// eine normale ausgabe der Template TEST
$tpl->out("test"); // Ausgabe

?>
edit:
ohne den str_ireplace gibt es dieselbe ausgabe
also danke jetzt ist mein code etwas kleiner
aber der "fehler" ist immernoch da.

gibt es einen unterschied, wenn ich was mit eval ausgebe? (kenne mich mit eval nicht wirklich aus)

Geändert von T!G3R (07.03.2010 um 21:55 Uhr).
T!G3R ist offline  
Alt 07.03.2010, 21:56  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Tja, globaler Kontext ist aber nicht Methodenkontext. Entscheidend ist, was out() kennt, bzw. wird bei Dir vermutlich schon __construct ersetzt.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 07.03.2010, 22:04  
Benutzer
 
Registriert seit: 22.12.2008
Beiträge: 74
PHP-Kenntnisse:
Anfänger
T!G3R befindet sich auf einem aufstrebenden Ast
Standard

sowas hab ich mir schon gedacht. gibts da irgendwas, wie man variablen aus dem globalen kontext darein bekommt?
T!G3R ist offline  
Alt 07.03.2010, 22:06  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Parameter?
Objektproperties?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 07.03.2010, 22:17  
Benutzer
 
Registriert seit: 22.12.2008
Beiträge: 74
PHP-Kenntnisse:
Anfänger
T!G3R befindet sich auf einem aufstrebenden Ast
Standard

Hey,
ich hab gerade eine Lösung gefunden:
mit
PHP-Code:
defin("VARIABLEN_NAME"$variable
kann die variable gelsen werden.

danke für die Anregung nikosch
T!G3R ist offline  
Alt 07.03.2010, 22:21  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Es heißt define und die Lösung ist eher schlecht. Dafür sind Konstanten nicht gedacht.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 08.03.2010, 11:21  
Erfahrener Benutzer
 
Registriert seit: 01.12.2009
Beiträge: 645
PHP-Kenntnisse:
Fortgeschritten
draco88 befindet sich auf einem aufstrebenden Ast
draco88 eine Nachricht über ICQ schicken
Standard

Spätestens, wenn du eine Variable in zwei verschiedenen Template mit unterschiedlichen Inhalten benutzen willst, funktioniert deine Lösung nicht mehr.

Nimm lieber eine Methode mit der du die Variablen an das Template übergibst, so z.B.
PHP-Code:
// ...
$tpl->assign('var_name'$var);
// ... 
draco88 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Lieber Template oder Normal für ein community? mysteryxxx PHP Tipps 2008 8 17.09.2008 23:04
Template und Parser... was ist mit Abfrageresultat > 1?? reimondo PHP Tipps 2006 5 05.04.2006 00:16
Problem mit height Party-Pix HTML, Usability und Barrierefreiheit 3 29.03.2006 14:17
IFRAME Problem PHP Tipps 2006 13 28.02.2006 15:27
Template problem webmaster_andre HTML, Usability und Barrierefreiheit 4 25.02.2006 22:50
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] phpBB Template - Problem PHP-Fortgeschrittene 0 15.11.2005 21:02
template in template einfuegen tonne PHP Tipps 2005-2 8 10.11.2005 22:24
Seltsames Problem Benny PHP Tipps 2005-2 2 09.10.2005 11:37
[Erledigt] Template Parser PHP-Fortgeschrittene 9 06.10.2004 23:04
Template Parser PHP Tipps 2004 10 23.07.2004 15:35
Template Parser Script Suckd PHP-Fortgeschrittene 2 11.07.2004 17:20
Suche Template Parser - Muss PHP Datein includen können Schaelle PHP Tipps 2004 0 01.07.2004 20:48
[Erledigt] Template Scripting PHP-Fortgeschrittene 2 04.06.2004 18:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
$path_parts[\extension\] php, php code in tpl parser, php template parser 2010, template parsen ohne eval, templateparser ohne eval, test

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:28 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum