frankx: Zend_DB - weder toll noch un-toll, u.U. einfach praktisch

Beitrag lesen

Ahoi,

echo $begrüßung;

»» btw: dazu fällt dir nix ein, oder?

Nö, denn ich hab ja die Behauptung nicht aufgestellt, und bin auch nicht im Thema drin, um da was sagen zu können.

Kritikpunkt war ja, dass vielleicht "die falschen Sachen abstrahiert werden".

Aus meiner Sicht abstrahieren die Klassen aber ganix. Sie bilden ein einheitliches Interface (Zend_Db_Adapter_Abstract) für ein PDO, unabhängig vom dahinterstehenden RDBMS.

Vergleich:

  
//PHP Data Object  
$pdo = new PDO("sqlite:test.db");  
//Zend_Db_Adapter_Pdo_Sqlite  
$dba = Zend_Db::factory("PDO_Sqlite",array("dbname"=>"test.db"));  
// SQL-Ausruck  
$all = "SELECT * FROM test_table";  
  
// Array als Rückgabe:  
$pdo->query($all)->fetchAll();  
// oder  
$dba->fetchAll($all);  

Db_Adapter bringt u.a. auch noch eine passende insert-Methode mit, man kann einen Profiler zum Debugging aktivieren, und mit weiteren Klassen interagieren, wie Zend_Db_Statement (basieren auf PDOStatement) und einem Zend_Db_Select-Objekt: $dba->query($dba->select()->from("table_name"))->fetchAll()).

Der Adapter versteht natürlich dann eben auch die Zend_Config-Objekte und kann wiederum von Zend_Db_Table benutzt werden, was pro Tabelle mit einer eigenen Klasse beerbt werden muss, und weitere Funktionalitäten mit sich bringt.

Mal pointiert in den Raum gestellt: abstrahiert wird da aus meiner Sicht garnix, oder verstehe ich "Abstraktion" falsch? Das ist doch einer eine Frage der "Convinience". Ein Interface ist doch keine Abstraktion im Sinne eines ORM, oder? Ich dacht eher eine einheitliche Schnittstelle, um im o.g. Falle a) unabhängig vom dahinterliegenden Datenbanksystem codieren zu können und b) von anderen Klassen des Frameworks genutzt zu werden.

Dank und Gruß,

frankx

0 43

sqlite - gibts gründe, das nicht zu nutzen?

frankx
  • datenbank
  1. 1
    dedlfix
    1. 0
      frankx
      1. 0
        frankx
        1. 0
          dedlfix
          1. 0
            frankx
          2. 0

            Zend_DB - weder toll noch un-toll, u.U. einfach praktisch

            frankx
            1. 1
              dedlfix
              1. 0
                frankx
                1. 0
                  dedlfix
                  1. 0
                    frankx
      2. 0
        dedlfix
        1. 0
          frankx
          1. 0
            dedlfix
  2. 0

    sqlite vs. serialisiertes Array

    frankx
    1. 0
      dedlfix
      1. 0
        frankx
        1. 1
          Ilja
          1. 0
            frankx
    2. 0
      Sven Rautenberg
      1. 0

        sqlite vs. serialisiertes Array - welcher Vartyp für welche Vars

        frankx
        1. 0
          Sven Rautenberg
          1. 0
            frankx
            1. 1
              Sven Rautenberg
              1. 0
                frankx
                1. 0
                  Sven Rautenberg
                  1. 0

                    ein Grund, SQLite nicht zu nutzen

                    Vinzenz Mai
                    1. 0
                      frankx
                    2. 0
                      Sven Rautenberg
                      1. 0
                        frankx
                        1. 0
                          Vinzenz Mai
                          1. 0
                            ChrisB
                        2. 1
                          Sven Rautenberg
                          1. 0
                            frankx
                            1. 0
                              Sven Rautenberg
                              1. 0
                                frankx
        2. 1
          dedlfix
          1. 0
            frankx
            1. 0
              dedlfix
              1. 0
                frankx
                1. 0
                  dedlfix
          2. 0

            ALTER TABLE = schlechtes Design - serialisierte PHP Daten

            frankx
            1. 0
              dedlfix