>php教程 >PHP开发 >PHP.MVC 템플릿 태그 시스템 (2)

PHP.MVC 템플릿 태그 시스템 (2)

黄舟
黄舟원래의
2016-12-17 10:07:351133검색

php.MVC 태그 액션 디스패처

TagActionDispatcher는 기본 템플릿 태그에 대한 액세스를 지원하는 표준 ActionDispatcher 클래스의 구현입니다. TagActionDispatcher 클래스는 기본 ActionDispatcher.TagActionDispatcher와 동일한 ActionObjects 컬렉션 및 ViewResourcesConfig 속성을 지원합니다. class 템플릿 태그가 있거나 없는 시스템에서 사용할 수 있지만 추가 처리로 인해 약간의 성능 저하가 있습니다.
템플릿 태그 라이브러리는 템플릿 태그 라이브러리와 결합됩니다. TagActionDispatcher 몇 가지 간단한 템플릿 태그를 지원하는 작업입니다.
다음 차트는 PHP.MVC 템플릿 태그 시스템의 개요를 보여줍니다. 왼쪽은 템플릿 태그 시스템의 프로그램 흐름을 보여줍니다. 태그 템플릿이 어떻게 작동하는지 확인하세요.

PHP.MVC 템플릿 태그 시스템 (2)

1. 초기화
컨트롤러가 TagActionDispatcher에 제어를 전달하면 일부 초기화가 트리거되어 ActionObject와 템플릿을 사용하려면 ViewResourcesConfig 속성을 사용하세요.
요청에서 $form, $errors 및 $data 개체를 다시 가져옵니다. 이러한 개체가 이전에 생성된 경우(예: Action 클래스에서) 해당 개체는 이제 리소스 템플릿에 표시되지 않습니다. 그렇지 않으면 개체가 NULL로 설정됩니다.
구성 매개변수가 포함된 ViewResourcesConfig 개체에 대한 참조를 검색합니다.
템플릿 소스 파일과 컴파일된 템플릿 파일을 가리키는 경로를 설정합니다. ViewResourcesConfig 매개변수에서.
2. 페이지 레이블을 설정합니다.
템플릿 소스 파일의 확장자(".ssp"일 수 있음)는 ViewResourcesConfig->tagFlagStr 매개변수와 비교하여 이 페이지에 필요한지 여부를 결정하는 데 사용됩니다. 그렇지 않으면 페이지가 표준(태그 없음) 템플릿 파일로 처리됩니다.
...와 같이 view-resources 요소에서 태그 파일 확장자를 구성할 수 있습니다.
tagFlagStr = ".ssp"
tagFlagCnt = "- 4"
...

tagFlagStr은 태그 템플릿 소스 파일이 전처리될 수 있음을 나타냅니다. as: myPage.ssp. 이 확장자는 태그 처리를 트리거합니다. tagFlagCnt는 "."을 포함하여 파일 이름 끝에 있는 문자 수입니다. 예를 들어, -4는 의 마지막 4자를 나타냅니다. 소스 파일 이름은 .ssp와 -4이므로 myPage.ssp와 같은 템플릿 파일 이름을 사용하면 이러한 매개 변수를 설정할 필요가 없습니다.
3. 태그 파일 처리
템플릿 태그 시스템은 ViewResourcesConfig->PROcessTags 속성을 기반으로 태그 프로세서를 실행할지 여부를 결정합니다. 이 속성이 true이면 템플릿 페이지(및 포함된 페이지)가 태그 프로세서 클래스에 의해 처리되고, 그렇지 않으면 태그 프로세서가 처리됩니다. 개발자는 개발 중에 이를 true로 설정하기만 하면 됩니다. 그렇지 않으면 처리되지 않습니다. 그러나 수정된 ​​태그는 processTags 속성이 true로 설정된 경우에만 컴파일됩니다(이는 compileAll 속성 설정에 따라 다름). 다음과 같이 view-resources 요소에 processTags 속성을 정의할 수 있습니다.
...
processTags = "True"
...
view-resources>
기본값은 false입니다.
4. 템플릿 페이지를 컴파일합니다.
TagActionDispatcher가 템플릿 페이지를 처리하기로 결정하면 템플릿 태그 시스템에 제어권이 전달됩니다. 이제 템플릿 태그 시스템은 수정된 페이지만 컴파일할지 아니면 모든 페이지를 컴파일할지 결정합니다. 이 동작은 ViewResourcesConfig->compileAll 속성을 사용하여 다음과 같이 정의합니다.
...
compileAll = "True"
...

이 속성은 기본값이 false입니다.
5. > compileAll 속성이 false(기본값)로 설정되면 수정된 페이지만 컴파일됩니다. 예를 들어 요청한 경우 페이지가 마지막 요청 이후 수정된 경우 이 페이지가 컴파일됩니다.
6. 모든 페이지를 컴파일합니다.
compileAll 속성이 true로 설정되면 템플릿 태그 시스템은 마지막 요청 이후 이 페이지가 수정되었는지 여부에 관계없이 항상 페이지(페이지 포함)를 컴파일합니다. 개발자는 개발 중에 이 옵션을 사용할 수 있습니다.
7. VIEW 리소스를 처리합니다.
이후에 요청된 VIEW 리소스(템플릿 파일)는 다른 일반 PHP.MVC에 의해 처리됩니다. TagActionDispatcher는 컴파일된 페이지(포함된 페이지 포함)를 검색하고 해당 페이지를 사용자 브라우저에 출력합니다. 템플릿 태그 시스템이 호출되지 않으면 TagActionDispatcher는 요청된 페이지를 일반 VIEW 리소스로 처리합니다. 표준 ActionDispatcher를 대체하는데 사용됩니다.

위 내용은 관련 내용이며, 자세한 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.