Simples Entity Framework mit SQL-Generation

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Simples Entity Framework mit SQL-Generation

    Hi zusammen
    Da ich derzeit an nem kleinen PHP Projekt arbeite und Datenbank Selects/Inserts/Updates/Deletes brauche, hab ich mir kurz die Zeit genommen, um ein simples Entity Framework aufzubauen.

    Ich hab das Ganze mal auf google code publiziert unter:
    entitydataaccess - Generic Entity Data Access - Google Project Hosting

    Bitte schaut es euch an und sagt mir eure Meinungen dazu.

    Kleines Intro:
    Man muss seine Entity als Klasse erstellen nach ein paar wenigen Vorgaben, dann kann man einfach Queries erstellen wie diese hier:
    PHP-Code:
    // Get all entities from a table (sorted by the primary key here)
    $query = new EDAQuery();
    $query->AddOrder(MarkerColumns::MarkerIDEDASortDirection::ASC);
    $entityList EDAEntityHandler::GetEntityList('Marker'$query);
     
    // Get an entity by a field (primary key here)
    $query = new EDAQuery();
    $query->Add(new EDAEq(MarkerColumns::MarkerID$entityID));
    $foundEntity EDAEntityHandler::GetEntity('Marker'$query); 
    Die genauen Vorgaben und Möglichkeiten findet ihr ebenfalls auf der Google-Code Projekt Seite.

    Grüsse und ich würde mich sehr über Feedback freuen!
    Roemer

  • #2
    Hallo,

    welche DBMSe werden unterstützt und welche Schnittstelle nutzt du – PDO?

    Im Wiki steht, dass die AddField-Methode 4 Parameter erwartet. Im Beispiel sind es aber 5, dort kommt noch der PDO-Datentyp dazu. Ich frage mich sowieso, warum du zusätzlich noch die Feldnummer brauchst. Reicht der Name nicht?

    Ansonsten sieht es auf den ersten Blick nach einer ganz brauchbaren (wenn auch abgewandelten) Anwendung des Query-Object-Patterns (PoEAA) aus. Durch eine engere Anlehnung an eben dieses Pattern könntest du die Akzeptanz deines Projekts sicherlich noch verbessern.

    Viel Erfolg,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      In der PHP Version ist vorerst nur MySQL unterstützt und ja, ich verwende PDO (alle Parameter sind voll typisiert und dadurch SQL-Injection sicher). Ups ja, da ist noch ein Fehler, es braucht die 5 Parameter, änder ich noch in der Doku.

      Die Feldnummer bräuchte es nicht, aber ich hab das Konzept aus meiner C-Sharp Version übernommen und da ist die Feldnummer der Wert eines Enums (macht das Ganze noch wesentlich Tip-Fehler sicherer). Das gibts in PHP leider nicht darum ists einfach nur dieser Wert aus dem Pseude-Enum. Ich wollte so nah wie möglich am C-Sharp Konzept sein, darum ist das nun so

      Das PoEAA schau ich mir mal an, danke für den Tipp!

      Kommentar


      • #4
        Zitat von Roemer Beitrag anzeigen
        Das PoEAA schau ich mir mal an, danke für den Tipp!
        Nur zur Info: Dazu wirst du vermutlich nicht viel mehr finden als das hier, aber ich kann das Buch wärmstens empfehlen!
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Interessant finde ich auch den Google:"PHP RedBean" Ansatz.

          Für kleine, einfache, Projekte sicherlich geeignet, ohne je SQL anfassen zu müssen.
          Wir werden alle sterben

          Kommentar

          Lädt...
          X