PHP-Objekt Rückgabewert

Derzeit bin ich der Programmierung einer Datenbank-Klasse, die macht ein wenig PHP ' s PDO-Klasse, aber ich möchte noch hinzufügen, dass einige einfache Funktionen für die Programmierung einer bestimmten Anwendung ein wenig einfacher.

Nun In dem folgenden Stück pseudo-code, können Sie sehen, wohin ich gehe. Das einzige problem in diesem Beispiel ist, dass die $result-variable ist ein Objekt, das nicht verwendet werden kann für comparisation einige Sachen, die ich mache, weiter im Skript:

<?php

class Database
{
    public function FetchRow ( $query )
    {
        //.. do some stuff, and make a $result variable
        return DatabaseStatement ( $result );
    }
}

class DatabaseStatement
{
    private $result;

    public function __construct ( $query )
    {
        //.. save result in property etc.
    }

    public function __get ( $column )
    {
        //.. check result item

        return $this -> result [ $column ];
    }
}

$db     = new Database;
$result = $db -> Query ( 'SELECT * FROM users WHERE id = 1;' );

if ( $result != null ) //Here $result should be an array OR null in case no rows are returned
{
    echo $result -> username; //Here $result should call the __get method
    echo '<pre>' , print_r ( $result ) , '</pre>'; //Here $result should be the array, cause it wasn't null just yet
}

Wie Sie sehen können die $result-variable muss nicht ein Objekt sein, wenn ich dabei bin eine comparisation, ich weiß, es kann gemacht werden in eine Zeichenfolge mit __toString. Aber ich möchte es für eine andere Art, meist ein array oder null.

Wie bekomme ich so etwas wie, dass die Arbeit, wenn es möglich ist (sollte möglich sein, ich denke mit zu viel Aufwand)?

Also kann jemand mich in die richtige Richtung, oder vielleicht geben ein Stück code, der funktionieren sollte oder ich ändern kann, passt in meine aktuelle Klasse?

InformationsquelleAutor Stefan | 2009-06-13

Schreibe einen Kommentar