2014-04-07 5 views
0

젠드 프레임 워크 2.x를 사용하고 있으며 유틸리티 클래스를 어디에 두어야할까요? 그것은 컨트롤러도 아니 실체도 아니다! 자바에서는 소스 폴더 메인 프로그램 패키지 바로 아래에 패키지 유틸리티를 만들었을 것입니다. 언어의 일반적인 사용을위한zf2에 유틸리티 메소드를 사용하여 클래스를 배치 할 위치는 어디입니까?

+0

일반적으로 공용 파일을 포함하는 모듈을 작성하십시오. – Crisp

답변

0

1 서비스 당신이 할 수있는 뷰 헬퍼 (컨트롤러에 접근, 행동, 뷰)
2 "보기 도우미"또는 "자리 표시 자"PHTML 파일 (보기 스크립트)

예를 들어 MenuHelper에 액세스하십시오. 나는 다른 장소를위한 다른 해결책을 제안한다.

public function getServiceConfig() { 
    return array(
     'factories' => array(
      'commentRepository' => function ($sm) { 
       $em = $sm->get('doctrine.entitymanager.orm_default'); 
       $comment_repository = $em->getRepository('Comment\Entity\Comment'); 
       return $comment_repository; 
      }, 
      'commentService' => function ($sm) { 
       $comment_service = new Service\CommentService(); 
       $comment_service->setRepository($sm->get('commentRepository')); 
       return $comment_service; 
      } 
     ), 
    ); 
} 

public function getViewHelperConfig() { 
    return array(
     'factories' => array(
      'commentList' => function ($helpers) { 
       $locator = $helpers->getServiceLocator(); 
       $viewHelper = new View\Helper\CommentList(); 
       $viewHelper->setCommentService($locator->get('commentService')); 
       return $viewHelper; 
      }, 
     ) 
    ); 
} 

특정 장소에서 사용 하시겠습니까?

나는 보통 내 컨트롤러 디렉토리의 같은 레벨에 폴더를 만들
0

:

src/ModuleNameSpace/Controller 
src/ModuleNameSpace/Utilities 

코드가 응용 프로그램에서 모듈에서 공유 할 것이다 그러나, 당신은 공통 모듈을 만들거나에 파일을 배치해야 응용 프로그램 모듈을 같은 수준에 설치하십시오.

관련 문제