Korrekte Benennungsstruktur für CodeIgnitor

8

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 Ссылка

lautet

Der 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 werden

Ich 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.

    
bnelsonjax 06.06.2013, 19:42
quelle

2 Antworten

35

URLs

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

Controller-Klassennamen sollten alle aus Kleinbuchstaben bestehen, mit Ausnahme des ersten Buchstabens.

  • Wenn Ihre URL www.example.com/gallery lautet, lautet der Name des Controllers Gallery .
  • Wenn Ihre URL www.example.com/admin_folder lautet, lautet der Name des Controllers Admin_folder .

Controller-Dateinamen sollten mit dem Klassennamen übereinstimmen, aber klein geschrieben sein.

  • Galerie :: gallery.php
  • Admin_Ordner :: 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

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).

  • Name der Modellklasse: 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).
  • Name der Modelldatei: users_model.php
  • Modell laden: $this->load->model('users_model')
  • Modellnamen (alle in Ordnung): $this->users->getAll() , $this->users->find_by_name($name) , etc.

Bibliotheken

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_ .

  • Klassenname der Bibliothek: Photos
  • Bibliotheksdateiname: Photos.php ,
  • Laden der Bibliothek: $this->load->library('photos')

Helfer

Helfer Namen und Laden sind alle Kleinbuchstaben. Der Dateiname besteht aus dem Helpernamen mit angehängtem _helper .

  • Name des Helfers: url
  • Name der Helperdatei: url_helper.php
  • Helfer laden: $this->load->helper('url')

Notizen

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.

    
Aken Roberts 06.06.2013, 22:02
quelle
1

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

    
Steve Yeoman 06.06.2013 19:53
quelle

Tags und Links