>  기사  >  백엔드 개발  >  ThinkPHP를 사용하여 파일을 동적으로 포함하는 방법

ThinkPHP를 사용하여 파일을 동적으로 포함하는 방법

不言
不言원래의
2018-06-11 13:51:111632검색

이 글은 ThinkPHP에서 파일을 동적으로 포함시키는 방법을 주로 소개합니다. ThinkPHP 프로젝트 개발에 있어 매우 실용적인 기술입니다. 필요한 친구들이 참고할 수 있습니다.

이 글의 예에서는 ThinkPHP에서 파일을 동적으로 포함하는 방법이 설명되어 있습니다. . 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다:

문제 설명: 프로젝트를 수행할 때 문제가 발생하는 것도 매우 일반적인 문제입니다. 일반적으로 홈페이지에는 관리를 용이하게 하기 위해 헤더와 단계가 포함되어 있습니다. ThinkPHP는 include 파일 메소드를 제공합니다. 위의 방법은 작업을 포함하는 가장 간단한 방법이지만 실행 프로세스 중에 요청할 때 소위 정적 포함이라고 불리는 템플릿 파일만 요청하는 것을 발견했습니다. 매우 어렵습니다.

인터넷에서 해결책 찾기: 위젯 사용

1. 페이지에 분류된 표시를 위한 위젯을 구현합니다. 먼저 다음과 같이 위젯 컨트롤러 레이어 CateWidget을 정의해야 합니다.

class CateWidget extends Action {  
    public function menu(){  
        return 'menuWidget';  
    }  
}

일반 Action

2과는 다른 Widget 패키지에 정의되어 있으니 참고하세요. 그런 다음 템플릿의 R 메서드를 통해 이 Widget을 호출합니다(확장된 Widget 메서드는 템플릿의 W 메서드를 사용합니다). .

{:R('Cate/Menu','','Widget')}

실행 후 출력은 다음과 같습니다. menuWidget

3. CateWidget 클래스의 메뉴 메소드를 다음과 같이 변경하면:

코드는 다음과 같습니다.

class CateWidget extends Action {  
    public function menu(){  
        echo 'menuWidget';  
    }  
}


4. to:

code 다음과 같습니다.

{~R('Cate/Menu','','Widget')}

5. Widget을 호출할 때 매개변수를 사용해야 하는 경우 다음과 같이 정의할 수 있습니다.

코드는 다음과 같습니다.

class CateWidget extends Action {  
    public function menu($id,$name){  
        echo $id.':'.$name;  
    }  
}

6. 템플릿 사용:

코드는 다음과 같습니다.

{:R('Cate/Menu',array(5,'thinkphp'),'Widget')}

그러면 thinkphp

7이 출력됩니다. 더 복잡한 예를 들어보겠습니다.

코드는 다음과 같습니다.

class CateWidget extends Action {  
    public function menu(){  
        $menu = M('Cate')->getField('id,title');  
        $this->assign('menu',$menu);  
        $this->display('Cate:menu');  
    }  
}

8. 템플릿 파일 Tpl/Cate/menu.html을 렌더링하며 템플릿 호출의 유연성도 사용됩니다. 위젯을 구현하는 방법의 차이점(위젯 확장 모드에서는 템플릿을 렌더링하려면 renderFile 메서드를 호출해야 함)

menu.html 템플릿 파일의 사용법: {$key}:{$title}

위 내용은 모두의 학습에 도움이 되기를 바랍니다. PHP 중국어 웹사이트로!

관련 권장 사항:

ThinkPHP 파일 캐시 클래스 코드 정보

thinkPHP5 프레임워크의 위젯 기능 및 사용법 분석

위 내용은 ThinkPHP를 사용하여 파일을 동적으로 포함하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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