Ich starte mein erstes Codeignitor-Projekt und möchte einen Rat bekommen, bevor ich anfange. Ich bin ein wenig verwirrt, wie der Name des Controllers und der Modelle funktionieren.
Wenn ich möchte, dass die URL zu meiner Unternehmensseite Ссылка
lautetDer Controller muss Company.php korrekt heißen? Innerhalb des Unternehmenscontrollers würde es so aussehen:
%Vor%Ok, ich bin hier verwirrt, in Zeile 4 oben:
%Vor%Dieser Aufruf an die Firmenmodellseite muss das erste Großbuchstabe mit dem Rest Kleinbuchstaben haben?
Wenn das korrekt ist, muss die Modelldatei Companymodel.php heißen und in den Ordner applications / models gestellt werden?
ist es eine schlechte Übung, den Controller aufzurufen und dasselbe zu modellieren
Beispiel: Company.php und platziere es in / application / controller / und dann haben Sie das Modell Company.php und legen Sie es in der Anwendung / Modell oder sollte das Modell Companymodel.php
genannt werdenIch denke, meine ultimative Frage ist die Namenskonvention der Controller- und Modelldateien, und ob sie in Großbuchstaben geschrieben werden können oder nicht.
Danke, dass Sie Licht dazu haben können.
Ihre URLs sollten in der Regel nur aus Kleinbuchstaben bestehen. Wenn Sie Großbuchstaben erwarten, besteht die Möglichkeit, dass Sie ihre Kleinbuchstaben versehentlich ausschließen, obwohl sie die gleiche URL haben. Beispiel: www.example.com/controller/method/param
Controller-Klassennamen sollten alle aus Kleinbuchstaben bestehen, mit Ausnahme des ersten Buchstabens.
www.example.com/gallery
lautet, lautet der Name des Controllers Gallery
. www.example.com/admin_folder
lautet, lautet der Name des Controllers Admin_folder
. Controller-Dateinamen sollten mit dem Klassennamen übereinstimmen, aber klein geschrieben sein.
gallery.php
admin_folder.php
Controller-Methoden sollten auch Kleinbuchstaben sein. Es gibt eine gewisse Flexibilität in Großbuchstaben, aber ähnlich wie bei URLs gibt es Gelegenheiten, bei denen es etwas ausmacht ( Hier ist ein Beispiel , in dem Großbuchstaben eine Callback-Methode für Formularvalidierung störten.
Modelle folgen den meisten der gleichen Konventionen wie Controller. Der einzige Unterschied besteht in den Namen der Modellmethoden, die Ihre Präferenz für Groß- und Kleinschreibung verwenden können. Da diese Methoden nicht an URLs gebunden sind und mit normalen PHP-OOP aufgerufen werden, können Sie sie wie gewünscht benennen.
Es wird empfohlen, Modelle in der Kleinbuchstabenversion zu laden. Obwohl es nicht von CI benötigt wird, kann es einige Benutzer verwirren, wenn sie es mit einem Großbuchstaben laden, aber dann versuchen, auf es als Kleinbuchstaben zuzugreifen (dies liegt daran, dass natives PHP mit Klasseneigenschaften [und Variablen im Allgemeinen] unterscheidet) , nicht CodeIgniter).
Users_model
(das Suffix _model
ist ebenfalls nicht erforderlich, aber einige Benutzer können es als persönliche Vorliebe verwenden oder Namenskonflikte mit einem Users
-Controller verhindern). users_model.php
$this->load->model('users_model')
$this->users->getAll()
, $this->users->find_by_name($name)
, etc. Bibliotheken folgen denselben Konventionen wie außer für den Dateinamen. In diesem Fall sollten Dateinamen mit dem Klassennamen übereinstimmen.
Ähnlich wie bei Modellen wird empfohlen, Bibliotheken unter Verwendung des Kleinbuchstabennamens zu laden.
Diese Regeln sind für CI-Bibliotheken (in application/core
und application/libraries
sowie benutzerdefinierte Bibliotheken oder Bibliotheken von Drittanbietern) identisch.
Besonderer Hinweis: Wenn Sie Standard-CI-Bibliotheken erweitern, kommt das in application/config.php
definierte Präfix ins Spiel. Dieses Präfix sollte normalerweise nur aus Großbuchstaben bestehen, gefolgt von einem Unterstrich. Der Standardwert ist MY_
.
Photos
Photos.php
, $this->load->library('photos')
Helfer Namen und Laden sind alle Kleinbuchstaben. Der Dateiname besteht aus dem Helpernamen mit angehängtem _helper
.
url
url_helper.php
$this->load->helper('url')
CodeIgniter ist in seinen Namenskonventionen etwas inkonsequent, aber es gibt wirklich nicht zu viele Regeln, so dass sie sich leicht daran gewöhnen und merken können. Ich habe sehr selten Probleme mit der Benennung und dem Laden von CI, und wenn ich das tue, liegt das meist daran, dass ich gerade an einem Composer-verwandten Projekt arbeitete, so dass ich eine andere Gewohnheit bekam.
Die Regeln in dieser Antwort gelten für CodeIgniter 2.1.x zum Zeitpunkt des Schreibens. Es gibt eine Diskussion über Github für 3.0 zu besser und fügen mehr Konsistenz zu den Namenskonventionen hinzu , die Sie lesen und beitragen können zu, wenn Sie möchten.
models / admin.php
%Vor%Controller / Firma.php wird das Admin-Modell mit
einschließen %Vor%Um zu galleryView zu navigieren, wäre die URL mysite.com/company/galleryView
Es gibt sehr gute Dokumentation und Beispiele auf der CodeIgniter-Seite
Tags und Links codeigniter