YII2 프레임 워크를 기반으로 한 부분 계층 적 분할
제어 장치
- 투명 변속기 계층을 매개 변수로 사용하기 만하면 기본 클래스를 다시 캡슐화하십시오 (일부 인증, 토큰 및 기타 함수는 나중에 추가됩니다).
모델 레이어를 세 가지 레이어로 나누십시오 : 서비스 (서비스 계층), BO (데이터 객체/처리 계층), DAO (Persistence Layer)
- 서비스 : 주로 복잡한 비즈니스 논리를 다룹니다. 모듈의 컨트롤러는 서비스 하위 디렉토리에 해당하며 방법은 복잡한 비즈니스 논리의 독립성과 응집력을 충족시킬 수있는 클래스에 해당합니다.
- BO : 주로 DB 데이터, 캐시 데이터, 외부 인터페이스 데이터, 포장 데이터 처리 및 디자인과 같은 데이터를 얻는 데 주로 책임이 있습니다.
- DAO : 주로 데이터 지속성에 대한 책임이 있습니다. DB 운영에는 비즈니스 로직 처리 코드가 없습니다. 작업을 추가, 삭제, 수정 및 확인하는 것입니다. 약간의 데이터 형식을 허용 할 수 있습니다.
구성 클래스의 재 캡슐화
- YII를 사용하지 않는 환경 환경은 현재 Dev, Test 및 Prod의 세 가지 환경으로 나뉩니다. 세 가지 환경은 독립적입니다. 현재 실행중인 PHP 환경에서 php.ini에 디버그 및 run_mode를 추가하는 데 직접 사용됩니다. 이는 디버그 모드를 활성화할지 여부를 결정하고 사용할 환경 구성 파일을 결정하는 데 사용됩니다.
예외 처리 클래스의 재 캡슐화
- 주로 비즈니스 로직에서 발생하는 예외의 수렴을 목표로하며, 통일 된 방식으로 예외 코드 및 예외 정보를 관리합니다.
다시 패키지 상수 구성
- 각각의 비즈니스 코드에 흩어져있는 상수를 상수로 수렴하고 비즈니스 블록에 따라 상수 클래스를 정의하십시오.
SQLMAP 모듈이 추가되었습니다
- 모든 SQL 문은 SQLMAP에 정의되어야하며 재 캡슐화 된 DB의 명령 처리와 함께 작동해야합니다. SQLMAP를 사용하는 가장 큰 장점은 SQL 관리 및 감사를 용이하게하고 복잡한 SQL의 응용 프로그램 성능을 줄이는 것입니다.
캐시 모듈이 추가되었습니다
- 모든 캐시 키 진술은 캐시에서 정의되어야하며 라이브러리의 캐시 처리의 캡슐화와 함께 캐시를 작동해야합니다. SQLMAP 사용의 가장 큰 장점은 캐시 키 및 시간 관리 감사를 용이하게하고, 주요 충돌을 줄이며, 캐시 침투 및 눈사태를 방지하는 것입니다.
매개 변수 검증 모듈이 추가되었습니다
- 비즈니스 논리에 따르면, 필요성, 길이 등과 같은 일부 입력 비즈니스 데이터를 확인할 수 있으며 익명 기능 검증도 전달할 수 있습니다.
도서관 도서관이 추가되었습니다
응답을 다시 작성하십시오
- Restapi에 따라 완전히 설계된 모든 반품은 JSON으로 통합됩니다.
미들웨어 계층이 추가되었습니다
- 인증, 필터링 및 주문형로드와 같은 미들웨어 방지로드와 같은 모듈에 따라 필요한 구성에 필요한 작업을 수행하십시오.
추가 메시지 큐/지연 메시지 큐가 추가되었습니다
- Beanstalk를 메시지 큐 서비스로 통합하고 지연된 메시지 대기열을 지원합니다.
다시 패키지 로그 도구
- 메시지를 사용하여 동시 로그 쓰기 요구 사항을 비동기로 처리하십시오. 생산 로그는 다른 애플리케이션에서 사용할 수 있습니다. 서버를 사용하여 로그 쓰기를 처리하여 여러 프로세스를 동시에 열 수 있습니다.
전체 텍스트 검색이 추가되었습니다
- 전체 텍스트 검색 서비스를 수행하기 위해 Elasticsearch를 기반으로 MySQL 동기화
위의 모든 변경에는 YII2의 핵심 라이브러리 변경이 포함되지 않으므로 YII2는 원칙적으로 정상적으로 업그레이드 될 수 있습니다. 또한 YII2의 모든 코어 구성 요소도 정상적으로 사용할 수 있습니다. 비즈니스 분리 및 비즈니스 컨버전스를 가능하게하기 위해 재정의 된 수준에서 사용하는 것이 좋습니다.
구성 참조 demo.run_mode = dev/test/prod demo.debug = true는 각각 개발, 테스트 및 온라인 환경에 해당합니다. Prod 모드에서 디버그는 False입니다.