also mit dem "Benutzer" -Modell innerhalb der "Benutzer" Controller ist unmöglich !!
Nein, das ist es nicht, Sie müssen den UserGuide sorgfältiger überprüfen;)
Sie können Ihrem Modell einen anderen Namen geben, als es orginal definiert ist:
%Vor%Wenn Sie Ihr Modell zugewiesen haben möchten zu einem anderen Objektnamen können Sie spezifizieren Sie es über den zweiten Parameter von die Ladefunktion:
Sie müssen lediglich den Namen und den Klassennamen Ihres Controllers in "Benutzer" ändern. Sie müssen Ihren Modellnamen nicht ändern.
Controller: Benutzer
Modell: Benutzer
db-Tabelle: Benutzer
Sehen Sie sich die Datamapper-Dokumentation an.
Ich würde vorschlagen:
Behalten Sie die Wörter Benutzer und Benutzer für den Controller bei, damit Sie eine nette URL behalten.
Stimmt nur mit der Verwendung von Plural oder Singular für das Modell und den Controller überein.
Ich habe im Fall von 'Project' so genannt:
Controller:
Projekt erweitert MY_Controller erweitert CI_Controller
Modell:
ProjectModel erweitert das Modell
In der Ansicht
Projekt / ProjektManager // als Hauptinhalt
project / _projectItem // mit _ Unterstrich als Unteransicht
Das funktioniert überhaupt gut.
Ich benutze CI2.0 mit PHP 5.3
Ich habe gerade angefangen, "Datamapper ORM" zu verwenden und es ist ausgezeichnet !! Sie sind jedoch ein großes Problem hinsichtlich der Namen der Klassen
Ich habe eine Datenbanktabelle namens "users", also ist mein dm-Modell "user" und ich habe auch einen Controller mit dem gleichen Namen "user"?
also ist die Verwendung des "Benutzer" -Modells innerhalb des "Benutzer" -Controllers unmöglich !!
Was ist der beste Weg, um dieses Problem zu lösen?
Vielen Dank
Beste Grüße
Die Art, wie ich damit umgehe, besteht darin, alle Namen meines Controllers mit %code% zu beenden.
Ich benutze auch Datamapper, also hatte ich viele Namenskollisionen. Für Benutzer habe ich einen Benutzer (Modell) und ein %code% .
Dann füge ich einfach hinzu:
%Vor%zur Datei config / routes.php und voila.
Einziger Wermutstropfen ist, dass wenn Sie ein großes Projekt mit vielen Seiten haben (wie ich), Sie eine riesige routes.php Datei haben, besonders wenn Sie viele Funktionen haben, die viele Parameter haben Routing kann ziemlich schmerzhaft werden.
Einer der Nachteile von CodeIgniter ist, dass Sie einen Controller, ein Modell oder eine Bibliothek nicht gleich benennen können. Dies ist hauptsächlich ein PHP-Problem, da Sie natürlich nichts gleich benennen können, aber es kann auf zwei Arten vermieden werden.
Im Moment kann ich nur empfehlen, dass Sie Ihre Modelle und Bibliotheken sorgfältig benennen.
Controller - Benutzer
Bibliothek - Benutzerdatenbank
Modell - Benutzermodell | Benutzer_m
Es ist nervig, aber nur eines dieser Dinge für jetzt.