이 글에서는 주로 ThinkPHP 컨트롤러 간 상호 호출 방법을 소개합니다. 이 기능은 주로 A() 메서드를 통해 구현되며, 이는 코드 재사용률을 효과적으로 향상시킬 수 있어 도움이 필요한 친구들이 참고할 수 있습니다.
이 기사의 예에서는 ThinkPHP 컨트롤러 간의 상호 호출 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.
같은 ThinkPHP 프로젝트에서 두 컨트롤러의 메서드는 어떻게 서로 호출하나요? ThinkPHP는 코드를 재사용할 수 있도록 컨트롤러 간 메소드가 서로 호출할 수 있는 A()를 제공합니다.
A() 메서드 사용에 대한 공식 문서가 없는 것 같습니다. 이제 예제를 사용하여 A() 메서드 사용 방법을 설명하겠습니다.
ColumnsAction과 NewsAction이라는 두 개의 컨트롤러가 있습니다. ncatlist()는 ColumnsAction의 카테고리 목록 메소드입니다. 이제 컨트롤러 NewsAction에서 ncatlist() 메소드를 호출하려고 합니다.
코드는 다음과 같습니다.
코드 복사코드는 다음과 같습니다.
class ColumnsAction extends Action{ public function ncatlist(){ $Columns=new Model; $News = M("News"); $list=$Columns->query("SELECT concat(colPath,'-',colId) AS bpath, colId,colPid,colPath, colTitle, description,ord FROM ".C('DB_PREFIX')."columns where typeid=1 ORDER BY bpath, colId"); $this->assign('alist',$list); } } class NewsAction extends CommonAction { // 首页 public function index() { $Columns=A("Columns"); $Columns->ncatlist(); }
이런 방식으로 템플릿에서 alist를 반복하여 카테고리 목록을 가져올 수 있습니다.
참고: 위 코드는 WBlog3.0(thinkphp3.0의 핵심 패키지 사용)의 코드 조각이지만 thinkphp3.1 및 thinkph3.12 핵심 패키지는 여전히 메소드 A를 유지하고 있음을 확인했습니다.
관련 권장 사항:
thinkphp3.2는 컨트롤러 전반에 걸쳐 다른 모듈을 호출하는 방법을 구현합니다.
thinkphp 프로젝트의 WeChat 공유 설명 콘텐츠를 사용자 정의하는 방법
위 내용은 ThinkPHP 컨트롤러 간 서로 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!