FuelPHP 확장 모듈 : 【해설】 ACCON 클래스 다이어그램

ACCON (Powered by FuelPHP)의 클래스도의 설명입니다.



1. 클래스도(전체)



확대

2. 제어: Foundation/Controller 패키지



컨트롤러는 요청을 받고 서비스를 제공하는 클래스. 컨트롤러는 모델과 다른 클래스를 제어하고 출력을 위해 뷰에 모든 것을 전달합니다. Foundation/Controller 패키지는 액세스 제어 기능을 보유하고 요청 유형과 처리 유형에 따라 기본 컨트롤러를 제공합니다. 애플리케이션 계층에서는 해당 서비스 유형에 따라 적절한 컨트롤러를 선택하고 구현합니다. Controller_Accon : 보드 컨트롤러 클래스. Controller_Physical : 물리적으로 존재하는 컨트롤러의 기본 클래스 (일반). Controller_Physical_Crud : CRUD 기본 동작을 제공하는 클래스입니다. Controller_Physical_Nested : 재귀적 중첩 구조 모델의 동작을 제공하는 클래스입니다. Controller_Kinetic : 동적으로 생성되는 컨트롤러의 기본 클래스입니다. Controller_Kinetic_Nested : 재귀적인 중첩 구조의 모델의 동작을 제공하는 클래스 (Front용). Controller_Accon_Rest : Rest 컨트롤러. 3. 유형(모델): Foundation/Model 패키지 모델은 비즈니스 로직과 데이터베이스 처리를 수행합니다. ORM(Object Relational Mapper)을 사용하고 있으며, 그 매핑 대상의 테이블의 특성에 맞추어 다음의 2개가 존재합니다. 어플리케이션 계층에서는, 그 특성에 맞추어 클래스를 선정해 구현을 실시합니다. Model_Crud : 일반 릴리션 구조의 테이블을 사용하는 모델. Model_Nested : 재귀 구조의 테이블을 사용하는 모델. 4. 인증(액세스 제어): Foundation/Behavior/Auth 패키지 액세스 제어의 인증을 제공하는 클래스. 아래의 2개의 클래스가 포함되어 있어, 어플리케이션 계층에서는, 용도에 따라 전환, 확장을 실시합니다. Behavior_Auth_Simple : 일반 로그인, 로그아웃, 상태 확인을 제공하는 클래스입니다. Behavior_Auth_None : 스텁 클래스. 테스트시 등 인증 기능을 OFF로 하고 싶은 경우에 사용. 클래스의 전환은 설정 파일에서 실시합니다. (설정 파일: app/config/accon.php) /** * 인증 */ 'auth' => 'Accon\Foundation\Behavior_Auth_Simple', // 'auth' => 'Accon\Foundation\Behavior_Auth_None', 5. 권한(액세스 제어): Foundation/Behavior/ACL 패키지 액세스 제어 권한을 제공하는 클래스. 유저 마스터, 그룹 마스터, 롤 마스터와 그 액세스 제어 리스트로부터 액션 단위에 허가·거부를 판단합니다. Behavior_Acl_Physical : 물리적으로 존재하는 컨트롤러에 대한 액세스 제어. Behavior_Acl_Kinetic : 물리적으로 존재하지 않는 컨트롤러에 대한 액세스 제어. Behavior_Acl_Rest : Rest에 대한 액세스 제어. Behavior_Acl_None : 액세스 제어 없음 (스텁). 클래스의 전환은 설정 파일에서 실시합니다. (설정 파일: app/config/accon.php) /** * 물리적으로 존재하는 컨트롤러 */ 'physical' => array( /** * 허가 */ 'acl' => 'Accon\Foundation\Behavior_Acl_Physical', // 'acl' => 'Accon\Foundation\Behavior_Acl_None', /** * 동적으로 생성되는 컨트롤러 */ 'kinetic' => array( /** * 허가 */ 'acl' => 'Accon\Foundation\Behavior_Acl_Kinetic', // 'acl' => 'Accon\Foundation\Behavior_Acl_None', /** * 레스트 컨트롤러 */ 'rest' => array( /** * 허가 */ 'acl' => 'Accon\Foundation\Behavior_Acl_Rest', // 'acl' => 'Accon\Foundation\Behavior_Acl_None', 6. 화동(화면 동작): Foundation/Behavior/View 패키지 화면 동작이 정의된 클래스. 동작의 종류별로 그 표준적인 행동을 제공합니다. 그 동작은 컨트롤러의 종류별로 설정 파일로 관련지을 수 있고, 변경·확장시에는 그 설정을 변경합니다. (설정 파일: app/config/accon.php) /** * 화면 생성 */ 'view' => array( 'list' => 'Accon\Foundation\Behavior_View_list_Crud', // 목록 'single' => 'Accon\Foundation\Behavior_View_Single_Crud', // 자세히 'update' => 'Accon\Foundation\Behavior_View_Update_Crud', // 업데이트 'insert' => 'Accon\Foundation\Behavior_View_Insert_Crud', // 추가 ), 7. 운영: Foundation/Behavior/Operation 패키지 모델 조작이 정의된 클래스. 동작의 종류별로 그 표준적인 행동을 제공합니다. 그 동작은 컨트롤러의 종류별로 설정 파일로 관련지을 수 있고, 변경·확장시에는 그 설정을 변경합니다. (설정 파일: app/config/accon.php) 'crud' => array( /** * 모델 조작 */ 'operation' => array( 'insert' => 'Accon\Foundation\Behavior_Operation_Insert_Crud', // 추가 'update' => 'Accon\Foundation\Behavior_Operation_Update_Crud', // 업데이트 'remove' => 'Accon\Foundation\Behavior_Operation_Remove_Crud', // 삭제 ), 8. 그 외 View : 화면 부품을 사용할 때, 애플리케이션 계층, 파운데이션 계층의 순위로 검색을 실시한다. 애플리케이션층에 해당 부품이 존재하지 않는 경우에는 파운데이션층의 부품을 이용한다. Log : 통상의 로그 이외에, 조작 로그로서, 「언제・누구가・어디로부터・무엇을・어떻게 했다」를 출력한다. 또, 로그 파일 이외에 브라우저의 콘솔에 로그를 출력하는 것이 가능. (설정 파일: app/config/accon.php) /** * 운영 로그 출력 설정 * true: 출력 * false: 출력하지 않음 */ 'operation_log' => true, /** * 브라우저 콘솔 로그 출력 설정 * true: 출력 * false: 출력하지 않음 */ 'browser_console' => true, 9. 제어 (액세스 제어 관리 기능의 컨트롤러) : Controller 패키지 액세스 제어 기능 관리 화면용 컨트롤러. 10. 관형(액세스 제어 관리 기능 모델): Model 패키지 액세스 제어 기능의 관리 화면용 모델.

좋은 웹페이지 즐겨찾기