Kohana 3 Extending Model Model Структура файла файла файла
-
12-10-2019 - |
Вопрос
У меня есть какой -то код, который используется как администратором, так и общедоступными моделями. В настоящее время некоторые из методов точно такие же, но хранятся в отдельных моделях администратора и публичных разделах. Я создал модуль под названием Common, и я хочу хранить там общие кусочки кода, имея администратор и общедоступные модели, простирающиеся от общей модели. Я просто смущен структурой, чтобы настроить ее. Предполагая, что у меня есть:
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 -й способ, когда вы просто применяете имя модуля с началом или конец. В конечном счете, я думаю, было бы лучше следовать «правильному» способу последовательности. Что из них было бы правильно, если вообще?
Решение
// 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) находятся в общем модуле.