0

Angenommen, Sie müssen eine benutzerdefinierte Klasse erstellen, die von Ihrem Controller verwendet wird.In MVC, wo legen Sie eine benutzerdefinierte Klasse?

class mycontroller extends main_controller 
{ 
    public function __construct() 
    { 
     $c = new my_custom_class(); 
    } 
} 

my_custom_class ist kein Model/View/Controller, es ist eine eigenständige Klasse ist. Was ist die beste Vorgehensweise auf wo (welcher Ordner), um die Datei von my_custom_class.php zu setzen? Sollte es einfach in einen beliebigen Ordner platziert werden (d. H. /custom_classes/) oder gibt es eine Best Practice bei der Verwendung von MVC?

+0

im Modellteil – Unex

+1

Imo, es hängt davon ab, was diese benutzerdefinierte Klasse tatsächlich macht. –

+0

Modell ist die beste Lösung, aber Sie könnten weiter trennen, dh /classes/helpers/MyHelper.php – LMS94

Antwort

0

Es hängt davon ab, wofür diese "benutzerdefinierten Klassen" eigentlich sind. In einem neueren Projekten sah meine Verzeichnisstruktur wie folgt aus: http://i.stack.imgur.com/YGVI9.png

Die benutzerdefinierten Klassen, die mit von Controllern interagierten wurden, in der Regel waren verschiedene Dienste und ging in /src/model/services Verzeichnis.

Ich hatte auch zwei Standorte für Infrastruktur-Klassen (wie verschiedene Fabriken/Builder und einige abstrakte Klassen für Datenstrukturen). Diejenigen, die entweder in /src/components
oder /src/applications/<app>/components Verzeichnissen endete.

Was Sie in Ihrem eigenen Projekt sehen, könnte ein "Code Geruch" Analog sein, aber für Anwendungsarchitektur. Es könnte ein Hinweis darauf sein, dass Sie die Anwendungslogik in den Controllern an die richtige Stelle gesetzt haben, wo dies nicht sein sollte.

Verwandte Themen