![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| ...möp... Registriert seit: 10.10.2005 Ort: Wolfsburg
Beiträge: 79
|
Hi, Ich bin gerade dabei die trigger_error Funktion von Smarty soweit umzubauen, dass wenn ein Fehler kommt, auch gleich noch ein Eintrag in die Datenbank gemacht wird. Der Eintrag soll mit meiner Error-Klasse gemacht werden. Habe also erstmal am Anfang von Smarty eine Variable deklariert: PHP-Code: PHP-Code: Da gibt das print_r() auch das richtige ergebnis aus. Also da ist es noch ein Objekt der Error-Klasse. Dann habe ich noch die funktion trigger_error bissschen bearbeitet: PHP-Code: Habt ihr eine Idee woran das liegen könnte? |
| | |
| | Nach oben #2 |
| Benjamin Steininger Registriert seit: 02.06.2005 Ort: weiher im tiefsten Odenwald
Beiträge: 1.209
|
nur mal so, warum veränderst du die Basisklasse von Smarty ? du kannst doch einfach mittels einem eigenen Errorhandler eventuelle Fehler abfangen ? Ist denke ich der komfortablere Weg, weil du ihn für jede Komponente die du nutzt nicht anpassen musst, sondern einfach läuft. Desweiteren wozu ÜBERGIBST du einen Singleton ? der sollte doch überall erreichbar sein: $error = Singleton::getInstance('error'); mach mal an var_dump(debug_backtrace()); in der Funktion, darüber kannst du eventuell sehen wie die trigger_error-methode von smarty aufgerufen wurde, nicht dass sie irgendwo mittels Smarty::trigger_error() aufgerufen wird, weil dann wird ja eben kein konstruktor aufgerufen. mfg robo47 |
| | |
| | Nach oben #3 |
| ...möp... Registriert seit: 10.10.2005 Ort: Wolfsburg
Beiträge: 79
|
Hi, habe jetzt gerade nochmal kurz die Singleton Klasse umgebaut. Danke für den Hinweise Hm...naja ich muss die Basis-Klasse benutzen, da das irgendwie ein kleiner "Bug" von Smarty ist. Es wird zwar in der Smarty.class.php immer die gleiche Methode, also trigger_error aufgerufen und die könnte man ja auch in einer eigenen Klasse ersetzen. Aber in der Smarty_Compiler.class.php wird weiterhin die trigger_error() von der Basisklasse benutzt und nicht von der eigenen. Man müsste also die Klasse an vielen Stellen umschreiben. Da änder ich doch lieber nur die Funktion trigger_error in der Basisklasse Die trigger_error wird auch immer richtig aufgerufen, also es wird auch davor immer der Kontruktor aufgerufen. Habe es jetzt aber bisschen anders gelöst: PHP-Code: Dennis |
| | |
| | Nach oben #4 |
| Benjamin Steininger Registriert seit: 02.06.2005 Ort: weiher im tiefsten Odenwald
Beiträge: 1.209
|
nutzt du php5 ? dann erstellt doch einfach eine Klasse die von smarty erbt ? damit musst du beim Einsatz einer neuen Version nichts verändern, ich würde das grob so machen: PHP-Code: |
| | |
| | Nach oben #5 |
| ...möp... Registriert seit: 10.10.2005 Ort: Wolfsburg
Beiträge: 79
|
Genau das meine ich ja Das funktioniert nicht, da Smarty noch eine 2. Klasse Smarty_compiler hat und die greift auf das trigger_error von der Klasse Smarty zurück. Wenn ich also eine Klasse mache die von Smarty erbt und dort eine neue trigger_error Funktion einbaue, wird diese von Smarty_compiler ignoriert, da sie die Funktion aus der Klasse Smarty aufruft. Ich hoffe das ist verständlich was ich meine |
| | |
| | Nach oben #6 |
| Benjamin Steininger Registriert seit: 02.06.2005 Ort: weiher im tiefsten Odenwald
Beiträge: 1.209
|
hmm, das ist doof, dachte grad darüber lässt sich was machen: (in der Smarty-Basisklasse) PHP-Code: aber dann müsste man die neue Klasse von der compiler-Klasse wieder erben lassen, sollte aber funktionieren, sich quasi ne eigene compiler-klasse zu basteln die eigentlich von der anderen Smarty-Compiler-Klasse UND mySmarty erbt und damit wäre ja trigger_error wieder durch die mySmarty-Variante überschrieben. mfg robo47 |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Mehrsprachigkeit mit Smarty | Eyüp | PEAR, PECL und Frameworks | 7 | 08.06.2007 15:40 |
| Smarty und number_format() | Berti | PEAR, PECL und Frameworks | 12 | 23.02.2007 04:39 |
| Verständnissfrage zu Smarty | la-finest | PEAR, PECL und Frameworks | 7 | 26.09.2006 19:25 |
| Navigation auf Smarty umstellen?! | napsio | PEAR, PECL und Frameworks | 4 | 25.01.2006 19:22 |
| PEAR Alternative zu Smarty | ex³ | PEAR, PECL und Frameworks | 5 | 08.11.2005 21:19 |