나는 프로젝트 마녀를 개발하고 콘솔 논리, restfull API, 관리자 및 클라이언트 웹 사이트를 가지고있다.ZF2 아키텍처. 모듈 또는 api, admin, client ect를위한 별도의 프로젝트
저는이 모든 것을 단일 ZF2 응용 프로그램으로 작성하기 시작했습니다. 나는 클라이언트 웹 사이트 및 콘솔 로직, API API 모듈 및 관리 웹 사이트에 대한 관리 모듈에 대한 응용 프로그램 모듈을 사용하고 있습니다. 그리고 나서 단위 테스트를 작성했습니다. 모듈이로드 될 때마다 (예 : 콘솔 스크립트 마녀를 호출 할 때 IMAP을 통해 이메일에서만 작동합니다.) 내 api 문서 도구를 사용하면 경고 메시지가 인쇄됩니다. 서버 이름 없음).
앱 성능이 저하되고 한 부분이 변경되면 다른 부분이 손상 될 수 있습니다. 또한 모든 부분은 정말 다릅니다 (Console, Restfull 및 html 출력, 다른 플러그인, 공급 업체 등).
이제 어떻게이 문제를 해결할 수 있을지 생각합니다. 구조를 유지하고 싶습니다. API는 http://mysite/api
, 관리자는 http://mysite/admin
, 클라이언트 사이트는 http://mysite/
이고 콘솔 스크립트는 php index.php action
입니다.
어떻게이 문제를 해결해야합니까? 모든 부품을 ZF2 응용 프로그램을 분리하기 위해 분할해야합니까, 아니면 동일한 프로젝트를 사용해야하지만 다른 오토로더를 사용해야합니까? 아니면 다른 좋은 습관이 있습니까?
의견을 보내 주셔서 감사합니다. 예 성능은 현재 서비스 아키텍처에서 가장 큰 문제는 아닙니다. 구성 문제가 있습니다. 예를 들어 json 오류를 반환하도록 API/module.php를 변경 한 다음 나중에 json에서 웹 사이트 오류도 반환된다는 것을 알았습니다. 각 모듈을 호출하기 만하면됩니다. 어쩌면로드 된 모듈과 라우트간에 종속성을 만드는 방법이있을 수 있습니다 (예 : 모든 동작에로드되는 swagger 모듈이 있고 설명서를 볼 때만 사용됨). –
경로가 모듈에 저장되므로 일치하는 경로에 따라 모듈을 조건부로로드 할 수 없습니다 (모듈을 모두로드해야 첫 번째 경로를 얻을 수 있습니다). 모듈이 정말로 완전히 별개의 것이라면 아마도 별개의 앱이어야하지만, 이것을 판단 할 수있는 최고의 사람입니다. –