Kohana 3 Расширение файловой структуры модульной модели - PullRequest
0 голосов
/ 22 декабря 2010

У меня есть код, который используется как администратором, так и публичными моделями. В настоящее время некоторые методы точно такие же, но хранятся в отдельных моделях административного и публичного разделов. Я создал модуль под названием common, и я хочу хранить в нем общие фрагменты кода, предлагая модели admin и public расширяться от общей модели. Я просто запутался в структуре, чтобы настроить это. Предполагая, что у меня есть:

Model_Post extends Model
Model_Admin_Post extends Model

Должна ли структура быть такой:

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

или

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

или

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

Я взглянул на несколько модулей, и они, кажется, меняются, так что это действительно зависит от того, как вы себя чувствуете, структурируя его? Я заметил, что модуль auth, который является официальным модулем, похоже, следует первому примеру, но я не слишком уверен. Хотя кажется, что использовать 2-й или 3-й способ проще, так как вместо этого вы просто указываете имя модуля в начале или конце. В конечном счете, я думаю, что было бы лучше следовать «правильному» пути для последовательности. Что из этого будет правильным, если вообще будет?

1 Ответ

0 голосов
/ 22 декабря 2010
// 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 {}

Итак, ваши публичные и административные модели должны быть помещены в каталоги их приложений, а общие файлы (модель common_post) находятся в общем модуле.

...