| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

01-03-2010, 12:51
|
|
Tarlar
Registrierter Benutzer
|
|
Registriert seit: Jul 2004
Beiträge: 262
|
|
echo unterdrücken oder Überladen
Hallo Leute,
ich hätte zwei Fragen:
1. Gibt es eine Möglichkeit die Ausgabe von echo zu unterdrücken, dass man die "Diagnose"-Ausgaben nicht jedes mal auskommentieren muss?
oder
2. ist es möglich echo in irgendeiner Forum zu überladen und statt der Ausgabe das ganze in ein Array oder ähnliches zu schreiben.
Danke für die Hilfe
Gruß Tarlar
|

01-03-2010, 12:55
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
|

01-03-2010, 13:31
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Zitat:
Zitat von Tarlar
1. Gibt es eine Möglichkeit die Ausgabe von echo zu unterdrücken, dass man die "Diagnose"-Ausgaben nicht jedes mal auskommentieren muss?
|
Debugging mit "echo" ist aber auch mal so richtig PHP 3  Da gibt es eine ganze Reihe Alternativen.
|

01-03-2010, 13:35
|
|
DSitC
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 15
|
|
Hier mal ein kurzes Beispiel, weil ich grad Zeit hatte...
PHP-Code:
<?php
$my_output = array();
function write_to_my_output($stuff) {
global $my_output;
$my_output[] = array(
'time' => date('d.m.Y H:i:s', time()),
'data' => $stuff
);
return(null);
}
ob_start('write_to_my_output', 2);
echo('Hallo Welt!');
echo('Und noch eine Ausgabe...');
echo('Blubb?');
ob_end_clean();
echo('<pre>'.print_r($my_output, true).'</pre>');
?>
|

01-03-2010, 13:45
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Und Global ist genau so PHP 3.
|

01-03-2010, 13:56
|
|
DSitC
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 15
|
|
Zitat:
Zitat von unset
Und Global ist genau so PHP 3.
|
Passt doch dann prima zusammen...
Aber Scherz beiseite: Mal angenommen du müsstest aus einer Callback Funktion heraus (sprich vordefinierte Parameter) Daten für die spätere Verwendung sichern, was würdest du nehmen, wenn nicht global?
|

01-03-2010, 14:03
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von DSitC
Mal angenommen du müsstest aus einer Callback Funktion heraus (sprich vordefinierte Parameter) Daten für die spätere Verwendung sichern, was würdest du nehmen, wenn nicht global?
|
Klassen
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

01-03-2010, 14:07
|
|
DSitC
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 15
|
|
Ok, also dann eine Debugging Klasse die man über statische Aufrufe füttert.
|

01-03-2010, 14:08
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Nein, ich würde dafür auch keine statische Klasse nehmen, sondern das Observer-Pattern implementieren.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
Geändert von AmicaNoctis (01-03-2010 um 14:14 Uhr)
|

01-03-2010, 14:16
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Zitat:
Zitat von DSitC
Passt doch dann prima zusammen...
Aber Scherz beiseite: Mal angenommen du müsstest aus einer Callback Funktion heraus (sprich vordefinierte Parameter) Daten für die spätere Verwendung sichern, was würdest du nehmen, wenn nicht global?
|
Erstmal ist es ja schon Error by design, wenn man die Ausgabe so fließen lässt, dass man sie nicht mehr kontrollieren kann. Deswegen werde ich hier vor einer Lösung erst einmal auf den Missstand hinweisen. Der Autor hat ja nicht gesagt, dass es nicht mehr möglich ist, denn Quellcode anzupassen. Und selbst wenn: Eine Lösung ist nur ein Search & Replace mit einem kleinen RegExp entfernt.
|

01-03-2010, 15:41
|
|
wono
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 32
|
|
Wenn du kein echo willst warum machst du dann eins??
|

01-03-2010, 15:56
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Wurde doch gesagt: Debug-Ausgaben!
|

01-03-2010, 16:05
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Debug-Ausgaben sollte man aber nur dann machen, wenn man sie braucht und sie dann wieder deaktivieren/entfernen.
|

02-03-2010, 11:57
|
|
Tarlar
Registrierter Benutzer
|
|
Registriert seit: Jul 2004
Beiträge: 262
|
|
Danke für die Tipps. Ich werde mal die verschiedenen Debug-Tools verwenden.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|