2010-12-21 4 views
0

관리자 및 공용 모델에서 모두 사용되는 코드가 있습니다. 현재 일부 메소드는 완전히 동일하지만 admin 및 public 섹션의 개별 모델에 저장됩니다. 나는 common이라는 모듈을 만들었고 공통 모델에서 admin과 public 모델을 확장하여 공유 코드를 저장하려고합니다. 나는 구조를 혼란스럽게 만들었습니다. 가정 내가 가진 :Kohana 3 확장 모듈 모델 파일 구조

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 

나는 몇 가지 모듈을 살펴 tooken했습니다 그리고 그것은 다양해 보입니다. 그래서 그것은 정말로 당신이 그걸 어떻게 구조화하는 기분일까요? 공식 모듈 인 첫 번째 예제를 따르는 인증 모듈을 발견했지만 너무 확신하지 못합니다. 모듈 이름을 시작 또는 끝으로 고정시키는 대신 2 번째 또는 3 번째 방법을 사용하는 것이 더 쉽습니다. 장기적으로 일관성을 위해 "올바른"방법을 따르는 것이 더 좋을 것이라고 생각합니다. 이 중 어느 것이 맞을까요?

답변

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 {} 

공개 및 관리 모델은 응용 프로그램 디렉토리에 배치해야하며 공용 파일 (common_post 모델)은 공통 모듈에 있어야합니다.