>백엔드 개발 >PHP 튜토리얼 >thinkphp3.2가 다른 모듈에 대한 컨트롤러 간 호출을 구현하는 방법에 대한 자세한 설명

thinkphp3.2가 다른 모듈에 대한 컨트롤러 간 호출을 구현하는 방법에 대한 자세한 설명

黄舟
黄舟원래의
2017-03-17 09:33:141679검색

이 글에서는 다른 모듈을 호출하기 위한 컨트롤러를 구현하는 thinkphp3.2의 방법을 주로 소개합니다. thinkPHP 크로스 모듈의 일반적인 작동 기술과 크로스 컨트롤러 호출 방법을 다음과 같은 형태로 분석합니다.

이 기사의 예는 thinkphp3.2가 다른 모듈에 대한 크로스 컨트롤러 호출을 구현하는 방법을 설명합니다. 참고용으로 모두와 공유하세요. 자세한 내용은 다음과 같습니다.

Thinphp에는 프런트엔드와 백엔드에서 서로 호출하는 메소드가 있어 중복된 내용을 저장할 수 있습니다.

$hello = new \Admin\Common\Fun\hello();
$hello->hehe();

다른 곳에서 메소드를 호출하는 경우에도 마찬가지입니다.

동일 컨트롤러에 있는 경우 모듈 이름은 생략 가능합니다.

예를 들어 특정 클래스의 메서드를 공통적으로 호출하는 경우:

$hello = new \Common\Fun\hello();
$hello->hehe();

프레임워크는 크로스 모듈, 컨트롤러 기반 A() 메서드를 제공합니다.

class GoodsController extends Controller{
  function showlist(){
    // 实例化User控制器与调用方法
    $user = A('User');//通过快捷函数实例化控制器对象
    echo $user->number();//调用number()方法
  }
}

호출 시연:

A('User');  //跨控制器
A('Admin/User');  //跨模块
A('shop://Admin/User');  //跨项目

여전히 편리하지 않은 경우 프레임워크에서는 클래스를 인스턴스화하고 메서드를 호출하는 R() 메서드도 제공합니다.

//User为控制器 number为方法
R('User/number');
R('Admin/User/number');
R('shop://Admin/User/number');

효과는 다음과 같습니다.

class GoodsController extends Controller{
  function showlist(){
    // 实例化User控制器与调用方法
        A('User/number');//实例化user类并调用number方法
  }
}

위 내용은 thinkphp3.2가 다른 모듈에 대한 컨트롤러 간 호출을 구현하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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