2010-12-29 2 views
0

Ich entwickle mein eigenes Framework, das Namespaces verwendet.Einfachste Möglichkeit, die Doktrin für MVC-Modelle zu erweitern

Lehre ist bereits integriert in mein Auto Ladesystem und im jetzt in der Phase, wo krank das Modellsystem

Regel für meine Anwendung zu schaffen sein würde ich ein einfaches Modell erstellen wie folgt:

namespace Application\Models; 
class Users extends \Framework\Models\Database{} 

was würde alle Standard-Datenbank-Modell-Methoden erben, Aber mit Doctrine lerne ich immer noch, wie es funktioniert, wie es ist nicht nur eine einfache DBAL.

Ich muss verstehen, was ist der Teil der Lehre meine Klassen erweitern würde, wo ich folgendes tun:

namespace Application\Models; 
class Users Extends Doctrine\Something\Table 
{ 
    public $__table_name = "users"; 
} 

Und so in der Steuerung würde ich in der Lage sein, Folgendes zu tun:

public function Display($uid) 
{ 
    $User = $this->Model->Users->findOne(array("id" => (int)$id)); 
} 

Kann mir jemand helfen?

+0

Sorry, üblich nitpick: wenn Typ = Database, dann ist das [Passive-MVC] (http: // www .phpwact.org/pattern/model_view_controller #passives_model). – mario

+0

Nicht alle Modelle erweitern eine Datenbank, manche erweitern zum Beispiel Dateileser. – RobertPitt

+0

Arbeiten Sie noch an Ihrem Framework? Sehen Sie sich https://github.com/jrgns/backend-core an, ein Framework, an dem ich gerade arbeite. Ich bin gerade damit beschäftigt, Doctrine zu implementieren. – Jrgns

Antwort

1

Der von Ihnen angegebene Beispielcode entspricht weder Doktrin 1 noch Doktrin 2. Tabellen in Doktrin 1 erweitern standardmäßig \ Doctrine_Table. Außerdem wird der Name der Datenbanktabelle in der entsprechenden Modelldatei definiert, nicht als Eigenschaft der Tabellenklasse selbst. Ich schlage vor, Sie zumindest die ersten Kapitel der Dokumention lesen und einen Blick auf einige Beispiele gibt

http://www.doctrine-project.org/projects/orm/1.2/docs/manual/introduction/en

Verwandte Themen