php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.03.2011, 02:22  
Erfahrener Benutzer
 
Registriert seit: 07.11.2004
Beiträge: 162
seejay
Standard Typecast zu Kindklasse

Hallo,

dass "richtige" Typecast in PHP nicht möglich sind, habe ich jetzt bereits herausgefunden. Ich komme aber deswegen bei meinem Problem nicht weiter und würde gerne wissen ob ich überhaupt einen guten Ansatz habe oder ob es nicht anders besser zu lösen wäre.
Ziel ist es ein automatisches Errortracking bei PDOStatement Abfragen zu implementieren.

PHP-Code:
$sth =$pdo->prepare('SELECT x from y where z= ?');
$sth->execute(array(1)); 
Wenn jetzt ein Fehler darin auftritt, möchte ich dass der Fehler auf dem Bildschirm ausgegeben wird. Was ja so gehen würde:

PHP-Code:
$sth =$pdo->prepare('SELECT x from y where z= ?');
$sth->execute(array(1));
$err $sth->errorInfo();
if (
$err[0] != "00000")
{
print_r($err);

Damit ich später wenn es nicht mehr so seien soll, nicht jede Stelle im Code verändern muss, dachte ich mir, dass ich die eine Kindsklasse von PDO erstelle und die Exec-Function überschreibe und darin dann den Trackingcode eintrage
Aber bei PreparedStatements ist es ja die Klasse PDOStatement, welche bei $pdo->prepare() mit zurück gegeben wird. Daher wollte ich in dieser Funktion einhaken und ein von mir definiertes PDOStatement zurück geben:
PHP-Code:
class MYSQLDB extends PDO implements iReportable
{
    public function 
prepare $statement)
    {
        
$stmt parent::prepare($statement);
        
        
$stmt = (MYPDOStatement$stmt
        
        
return $stmt;
    }
}

class 
MYPDOStatement extends PDOStatement implements iReportable
{
    public function 
execute()
    {
        
$ret parent::execute();
$err $sth->errorInfo();
if (
$err[0] != "00000")
{
print_r($err);
}
    }

So würde es in z.B. in Java funktionieren.
Kann ich sowas hier in PHP auch nachbasteln? oder wäre eine andere Vorgehensweise besser geeignet?

Danke und Gruß
seejay
seejay ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.03.2011, 02:54  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Hier bietet sich doch ein Decorator für PDOStatement anstelle einer Kindklasse an.
fab ist offline   Mit Zitat antworten
Antwort


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
Kindklasse und dessen Name Knechtle PHP Tipps 2010 10 04.09.2010 14:38
Kindklasse: Methoden über _call() ergänzen? ciss PHP Tipps 2008 2 29.12.2008 18:08
Warum eine Kindklasse erstellen? Erecthoma2006 PHP Tipps 2006 9 21.07.2006 17:08

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php typecast, typecast php, php kindklasse casten, php type cast, php typecast class, java kindklasse casten, java cast auf kindklasse, typecast php klassen, php typecasting klasse, java in eine kindklasse casten, php class typecast, css kindklassen, php casten klassen, in kind klasse casten, java cast kindklassen, type cast php, java casten zu kindklasse, print_r in kindklasse, klasse registrieren einhaken php, php typcasting

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:31 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