2010-12-21 9 views
0

Ich habe etwas Code, der sowohl von den Admin-und öffentlichen Modellen verwendet wird. Derzeit sind einige der Methoden genau gleich, aber in den separaten Modellen der Admin- und Public-Sections gespeichert. Ich habe ein Modul mit dem Namen common erstellt, und ich möchte dort freigegebene Codeabschnitte speichern, indem ich die Admin- und public-Modelle vom gemeinsamen Modell aus erweitere. Ich bin nur verwirrt über die Struktur, um es einzurichten. Unter der Annahme, ich habe:Kohana 3 Erweiterung Modulmodell Dateistruktur

Model_Post extends Model 
Model_Admin_Post extends Model 

Sollte die Struktur wie:

modules/common/classes/model/common/post.php 
Model_Post extends Model_Common_Post 

oder

modules/common/classes/common/model/post.php 
Model_Post extends Common_Model_Post 

oder

modules/common/classes/model/post/common.php 
Model_Post extends Model_Post_Common 

ich einen Blick auf ein paar Module tooken haben und es scheint zu variieren, so ist es wirklich nur wie du es strukturieren magst? Ich bemerkte das Auth-Modul, welches ein offizielles Modul zu sein scheint, dem ersten Beispiel zu folgen, aber ich bin mir nicht sicher. Obwohl es einfacher scheint, den 2. oder 3. Weg zu verwenden, wenn Sie stattdessen den Modulnamen an den Anfang oder das Ende heften. Auf lange Sicht denke ich, es wäre besser, dem "richtigen" Weg zu folgen. Welche davon wäre richtig, wenn überhaupt?

Antwort

0
// modules/common/classes/model/common/post.php 
Model_Common_Post extends Model {} 

// ADMIN/application/classes/model/admin/post.php 
Model_Admin_Post extends Model_Common_Post {} 

// PUBLIC/application/classes/model/post.php 
Model_Post extends Model_Common_Post {} 

Also, Ihre öffentlichen und Admin Modelle sollten gemeinsam Modul in ihren Anwendungen dirs und gemeinsame Dateien (common_post Modell) ist platziert werden.