모듈 개발에 포함 (inc) 파일을 사용하는시기


10

.inc 파일 (.module과 비교)의 구조적 차이점을 이해한다고 생각하지만 디자인 차이를 설명 할 수 있습니까? hook_menu를 사용하여 .inc 파일을 호출하는 drupal 예제 모듈을 보거나 함수 정의를 위해 .inc 파일을 호출하는 것을 볼 수 있습니다.

  • 어떤 상황에서 .inc 파일에 코드를 넣습니까? 어떤 사람들이 고수하는 일반적인 디자인 지침?
  • 왜 (또는 여러 개의) .inc 파일을 사용하는지에 대한 명확성 외에 다른 이점이 있습니까? 공연? 버전 관리?

감사!


1
내 의견으로는 이 질문 에 대한 대답보다 더 나은 설명을 얻을 수 없습니다 :)
Clive

3
개인적으로 여러 URL을 지원하는 모드가 있거나 URL이 있으면 URL .inc마다 사용합니다 . 그냥 조직 임의의 함수를 하나의 큰 .module파일 로 덤프하는 대신 추측 합니다. 그러나 @Clive의 게시물 참조와 마찬가지로 실제로 개인적인 의견이나 익숙한 내용입니다. 옳고 그름은 없습니다.
au_stan

1
실제로, 나는 modulename.preprocess.inc, modulename.node.inc, modulename.menu.inc 등을 사용하여 큰 모듈을 관련 함수의 합리적인 덩어리로 나누었지만 성능 관점에서 개발 외부에서 사용하는 유일한 실제 이유 조직은 아마도 모듈에로드 될 때마다 PHP 엔진을 구문 분석하지 않기를 원하지 않는 거의 큰 함수가있는 경우 일 것입니다. 그런 다음 메뉴 콜백 포함으로 작업을 수행하는 방식과 같이 필요할 때 가져올 수 있습니다.
Jimajamma

가치있는 것을 위해 후크 구현과 도우미 함수를 그룹화하고 적절한 명명 규칙 (CAPITALS)을 사용하여 문서 블록을 분류합니다. 모듈 코드를 스크롤하면 여러 기능 그룹이 분리되어 있음을 알 수 있습니다. 시스템이 이미 존재하는지 확인하기 위해 주석 표준을 조사했지만 시스템을 볼 수있었습니다.
dbj44

답변:


12

일반적으로 모듈 파일에는 더 자주 필요한 코드 (예 : 둘 이상의 함수에서 사용되는 도우미 함수)와 .inc 파일에는 자주 사용되지 않거나 특정 코드에 사용되는 코드를 넣습니다. 페이지.

Drupal 6부터 코드는 페이지 콜백 또는 메뉴 항목에 사용 된 양식 빌더가 포함 된 파일을 자동으로로드합니다. 따라서 관리 페이지의 페이지 콜백은 일반적으로 .admin.inc 파일 에 배치되고 일반 페이지의 페이지 콜백은 .pages.inc 파일에 배치됩니다.

Drupal 7부터는 클래스가 인스턴스화 될 때 클래스를 포함하는 파일이 자동으로로드됩니다. Drupal 7에서는 후크가 정의 된 파일을 hook_hook_info ()를 통해 정의 할 수 있습니다 . 예를 들어, system_hook_info이 () 파일로 정의 .tokens.inc 파일 hook_token_info(), hook_token_info_alter(), hook_tokens()hook_tokens_alter()구현이 발견 될 수있는 단계; 이러한 방식으로 이러한 후크 중 하나가 필요할 때 해당 파일이 자동으로로드됩니다.
이를 통해 필요할 때로드 된 파일과 Drupal에서 항상로드되는 코드로 코드를 추가로 분할 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.