본 글의 예시에서는 Thinkphp 템플릿이 파싱되지 않고 그대로 출력되는 문제에 대한 해결방법을 설명하고 있습니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.
1. 질문:
최근에 thinkphp 템플릿을 배우고 있는데, 템플릿 페이지가 그대로 나오더군요. 열심히 검색한 끝에 드디어 해결 방법을 찾았습니다.
2. 해결책:
많은 사람들이 동일한 문제를 겪었습니다. 변수에 할당된 문자열에 포함된 __ROOT__, __PUBLIC__, __APP__은 템플릿에 표시될 때 실제 경로로 대체됩니다. Timi 파일 관리 시스템을 작성하는 동안 이 문제를 발견했습니다.
파일에서 소스 코드를 읽고 페이지에 출력한 결과 TP 경로 문자인 한 실제 경로로 대체된 것을 발견했습니다.
예:
원래 어린이 신발에 대한 다음 솔루션을 구현하기 위해 소스 코드를 변경할 계획이었습니다.
사장님, 이게 일시적인 해결책인가요, 아니면 최종적인 해결책인가요?
하지만 Assign() 메소드에 판단을 추가하는 것도 나쁘지 않다고 생각합니다.
$this->sign('','',false)인 경우 내용은 교체되지 않고 그대로 출력됩니다.
결과적으로 이 소스코드를 읽어보니 그게 쉽지 않고 변경사항이 너무 크다는 걸 깨달았습니다.
최종 해결책을 지적한 다른 어린이의 마지막 답변:
"여기에서 내용을 참조할 수 있습니다: http://www.jb51.net/article/54217.htm(템플릿 교체)
템플릿 교체 규칙을 사용하면 페이지의 모든 __PUBLIC__ 문자열이 교체됩니다. 실제로 __PUBLIC__ 문자열을 템플릿에 출력해야 하는 경우 교체 규칙을 추가할 수 있습니다. 예:
이런 방식으로 대체 규칙을 추가한 후 __PUBLIC__ 문자열을 출력하려면 템플릿에 --PUBLIC--만 추가하면 됩니다. 다른 대체 문자열의 출력 방법도 비슷합니다.
그래서 계획이 공개되었습니다.
Tp의 구성 파일 config.php에서 구성
그러면 아래 그림과 같이 템플릿이 구문 분석될 때 TMPL_PARSE_STRING 구성이 대체됩니다.
이후 이 문제는 '일시적으로', '완벽하게' 해결되었습니다.
이 글이 모든 분들의 ThinkPHP 프레임워크 프로그래밍에 도움이 되기를 바랍니다.