2009-08-05 8 views
0

direkt auf den Punkt:In einem MVC-Kontext, wo setze ich eine Klasse?

Ich verwende Kohana, und ich schaue mir ein anderes Skript in PHP geschrieben. Im Skript habe ich eine Klasse ShoppingCart. Wenn ich das Skript in Kohana umwandeln soll, wo soll ich die Klasse, ihre Methoden und ihre Eigenschaften setzen?

Ist es in meinem vorhandenen Standard-Controller? Oder sollte ich es in einen separaten Controller setzen? Oder wie es vielleicht klingt, werde ich es in das Modell einfügen?

Antwort

0

, die auf den Besonderheiten der Klasse hängt nehme ich an. Um ehrlich zu sein, weiß ich nichts über Kohana, aber irgendwo gibt es wahrscheinlich einen Platz für "Verkäufer-Dateien". Vielleicht ist es am besten, es dort zu platzieren und Wrapper-Funktionen dafür in Ihrem Controller zu schreiben. Wenn die Klasse bereits gut in Kohana integriert ist, können Sie sie stattdessen direkt als Controller oder Modell verwenden. Oder Sie könnten die Zeit nehmen wollen, es neu zu schreiben, um es als Controller funktioniert ...

Nur können Sie den besten Platz für sie bewerten, gibt es keine feste Regel hier.

0

Kohana hat einen Ordner für 3rd-Party-Bibliotheken. Die wichtigste ist unter System/Anbieter, Sie können es auch in Ihre Anwendung einfügen.

Viele Ladeprogramme für PHP-Klassen erfordern Details wie der Dateiname sollte mit dem Klassennamen identisch sein (zumindest was ich in der Kohana-Dokumentation gelesen habe), wenn die Klassen automatisch geladen werden sollen.

0

Wenn Sie den Code eines Drittanbieters in Ihrer App verwenden müssen, sollten Sie einen Ordner in Ihrem App/Modul-Ordner namens "Vendor" erstellen und den gesamten Code dort ablegen.

Sie können dann schließen Sie die Dateien durch den Aufruf:

include kohana::find_file('vendor', 'filename'); 

Wenn es sein muss auch einen Wrapper für die externe Bibliothek erstellen können, ein gutes Beispiel dafür the email helper ist, die die dritte Partei Swift E-Mail-Bibliothek verwendet.

Wenn Sie Ihre eigene Klasse Portierung dann Kohana Sie müssen herausfinden, was die Klasse tun werden und sie entsprechend kategorisieren.

Wenn die Klasse Elemente aus einer Art Datenbank werden Holen, dann sollten Sie es sich um ein Modell machen. Bibliotheken sind in der Regel Code-Sätze, die für alle Controller/Modelle wiederverwendet werden sollen, z. B. Authentifizierung, Kalendergenerierung usw. Controller werden verwendet, um Daten von Modellen an Ihre Ansichten/Bibliotheken zu übergeben.

See the docs for more info

0

Per kohana Konvention, sollten Sie benutzerdefinierte Klassen in application/Bibliotheken Ordner. Dazu müssen Sie jedoch wissen, wie Sie die Klasse zum Arbeiten bringen können, nachdem Sie sie dort abgelegt haben. Wenn Sie das nicht herausfinden können, können Sie alles tun, um es in Ihren Controller zu stecken oder einen anderen Controller daraus zu machen, usw.

Verwandte Themen