모듈개발 _ info.json 활용법 - Prev/engine-pmc GitHub Wiki

속성

  • name : String - 모듈 이름 정의
{
	"name" : "Test Module"
}
  • version : String - 버전 정보 정의
{
	"version" : "1.0.0"
}
  • author : String - 개발자 정보 정의
{
	"author" : "[email protected]"
}
  • allow_web_access : bool - 웹에서 해당 모듈을 접근할 수 있는지 없는지를 정의 (기본값 true)
{
	"name" : "Test Module",
	"allow_web_access" : false
}
  • accessible_group : Array - 해당 모듈을 접근할 수 있는 그룹 정의 (미정의시 모든 사용자 접근 가능)
{
	"name" : "Test Module",
	"accessible_group" : ["admin"]
}
  • layout : String - 해당 모듈에서 사용 할 레이아웃 정의 (기본값 config.php에 정의 되있음)
{
	"name" : "Test Module",
	"layout" : "blank"
}
  • model : String - 해당 모듈에서 기본으로 사용 할 model 파일 정의
{
	"name" : "Test Module",
	"model" : "TestModel"
}
  • view : String - 해당 모듈에서 기본으로 사용 할 view 파일 정의
{
	"name" : "Test Module",
	"view" : "TestView"
}
  • controller : String - 해당 모듈에서 기본으로 사용 할 controller 파일 정의
{
	"name" : "Test Module",
	"controller" : "TestController"
}
  • print_alone : Boolean - doctype, 헤더태그를 출력하지 않고 모듈의 내용만 출력할 것인지를 정의 (기본값 false)
{
	"name" : "Test Module",
	"print_alone" : true
}
  • actions : Array - 액션 정의
{
	"name" : "Test Module",
	"actions" : []
}
  • name : String - 액션 이름
{
	"name" : "Test Module",
	"actions" : [
		{
			"name" : "dispDefault"
		}
	]
}
  • model : String - 해당 액션에서 사용 할 model 파일 정의
{
	"name" : "Test Module",
	"actions" : [
		{
			"name" : "dispDefault",
			"model" : "TestModel"
		}
	]
}
  • view : String - 해당 액션에서 사용 할 view 파일 정의
{
	"name" : "Test Module",
	"actions" : [
		{
			"name" : "dispDefault",
			"model" : "TestModel",
			"view" : "TestView"
		}
	]
}
  • controller : String - 해당 액션에서 사용 할 controller 파일 정의
{
	"name" : "Test Module",
	"actions" : [
		{
			"name" : "dispDefault",
			"controller" : "TestController"
		}
	]
}
  • default : bool - 해당 액션을 기본액션으로 할 것인지 아닌지를 정의 (기본값 false)
{
	"name" : "Test Module",
	"actions" : [
		{
			"name" : "dispDefault",
			"model" : "TestModel",
			"view" : "TestView",
			"controller" : "TestController",
			"default" : true
		}
	]
}
  • allow_web_access : bool - 웹에서 해당 액션을 접근할 수 있는지 없는지를 정의 (기본값 true)
{
	"name" : "Test Module",
	"actions" : [
		{
			"name" : "dispDefault",
			"model" : "TestModel",
			"view" : "TestView",
			"controller" : "TestController",
			"allow_web_access" : false
		}
	]
}
  • accessible_group : Array - 해당 액션을 접근할 수 있는 그룹 정의 (미정의시 모든 사용자 접근 가능)
{
	"name" : "Test Module",
	"actions" : [
		{
			"name" : "dispAdminPage",
			"view" : "TestAdminView",
			"accessible_group" : ["admin"]
		}
	]
}
  • print_alone : Boolean - doctype, 헤더태그를 출력하지 않고 모듈의 내용만 출력할 것인지를 정의 (기본값 false)
{
	"name" : "Test Module",
	"actions" : [
		{
			"name" : "dispAdminPage",
			"print_alone" : true
		}
	]
}
  • inherit : String - 특정 모듈의 액션을 상속. <모듈이름>.<모듈액션> 처럼 사용
{
	"name" : "Test Module",
	"actions" : [
		{
			"name" : "dispAdminPage",
			"inherit" : "index.dispDefault",
			"view" : "TestAdminPageView"
		}
	]
}

특징

  • 모듈이나 액션에서 model/view/controller가 정의되지 않을 시 빈 기본 클래스 사용(Model.class.php / Controller.class.php / View.class.php)
  • version, author 등의 속성은 지정 해 주지 않아도 됨

예제

{	
	"name":"board module",
	"version":"1.0.0",
	"author":"[email protected]",

	"actions":[
		{
			"name":"dispList",
			"model":"BoardListModel",
			"view":"BoardListView",
			"controller":"BoardController",
			"default":true
		},
		{
			"name":"dispArticle",
			"model":"BoardArticleModel",
			"view":"BoardArticleView",
			"controller":"BoardController"
		},
		{
			"name":"dispEditor",
			"view":"BoardEditorView"
		},
		{
			"name":"procSaveArticle",
			"controller":"BoardEditorController"
		}
	]
}
{	
	"name":"editor module",
	"version":"1.0.0",
	"author":"[email protected]",
	"view":"EditorView",

	"actions":[
		{
			"name":"dispEditor",
			"allow_web_access":false
		},
		{
			"name":"dispImagePopup",
			"layout":"blank"
		},
		{
			"name":"dispFilePopup",
			"layout":"blank"
		}
	]
}
⚠️ **GitHub.com Fallback** ⚠️