ThinkPHP 컨트롤 러

3635 단어 ThinkPHP컨트롤 러
본 논문 에서 중점적으로 설명 한 ThinkpHP 컨트롤 러 의 정의,기본 조작 내용 은 ThinkpHP 컨트롤 러 에 대해 초보적인 이 해 를 가 질 수 있 기 를 바 랍 니 다.

가장 기본 적 인 컨트롤 러:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
  public function index(){

  }
  public function hello(){
    echo 'hello';
  }
}
컨트롤 러 의 이름 은 낙타 봉 법 이름(이니셜 대문자)을 사용 하고 컨트롤 러 파일 은 Application/Home/Controller/Index Controller.class.php 에 있 습 니 다.
Index Controller 컨트롤 러 클래스 의 hello 방법 은 조작 방법 입 니 다.아래 URL 주 소 를 방문 하 십시오.
http://serverName/Home/Index/hello
 "hello"를 출력 합 니 다.
선행 동작 과 선행 동작:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {

  public function _before_index(){
    echo "index.before<br>";
  }

  public function index(){
    echo "index<br>";
  }

  public function _after_index(){
    echo "index.after<br>";
  }
}
ACTION 설정SUFFIX 동작 방식 변경:
조작 방법 은 컨트롤 러 의 한 방법 이기 때문에 시스템 의 키워드 와 충돌 하 는 방법 이 있 으 면 정의 할 수 없 을 수도 있 습 니 다.이 럴 때 우 리 는 조작 방법의 접 두 사 를 설정 하여 해결 할 수 있 습 니 다.예 를 들 어
'ACTION_SUFFIX'         =>  'Action',//동작 방법 접미사
동작 방법의 접 두 사 를 Action 으로 설정 하면 컨트롤 러 의 동작 방법 은 다음 과 같이 정 의 됩 니 다.

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
  public function listAction(){
    echo 'list';
  }

  public function helloAction(){
    echo 'hello';
  }

  public function testAction(){
    echo 'test';
  }
}

빈 컨트롤 러 와 빈 조작 방법:
빈 조작 이란 시스템 이 요청 한 조작 방법 을 찾 지 못 할 때 빈 조작(empty)방법 으로 실행 합 니 다.이 메커니즘 을 이용 하면 잘못된 페이지 와 일부 URL 의 최 적 화 를 실현 할 수 있 습 니 다.

위의 그림 에서 보 듯 이 방문 할 때:
http://serverName/index.php/Home/City/beijing/
City 컨트롤 러 는 beijing,shanghai 또는 shenzhen 조작 방법 을 정의 하지 않 았 기 때문에 시스템 은 빈 조작 방법 으로 위치 합 니 다empty 에서 해석,empty 방법의 매개 변 수 는 현재 URL 의 작업 이름 입 니 다.따라서 순서대로 출력 한 결 과 는 다음 과 같 습 니 다.
당신 은 어떻게 나 를 찾 았 습 니까? 
클래스 에 연결 하기:(역할:컨트롤 러 클래스 가 아 닌 모든 조작 방법 에 클래스 를 정의 할 수 있 습 니 다)
URL 접근http://serverName/Home/Index/index예 를 들 면,
원래 컨트롤 러 파일 의 정의 위 치 는:Application/Home/Controller/Index Controller.class.php 입 니 다.
컨트롤 러 클래스 의 정 의 는 다음 과 같 습 니 다.

namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller{
  public function index(){
    echo '  Index    index  ';
  }
}

실제로 우리 가 호출 한 것 은 Home\Controller\Index Controller 류 의 index 방법 입 니 다.
 프로필 설정 매개 변수
'ACTION_BIND_CLASS'    =>    True,
설정 후 컨트롤 러 파일 위치 변경:application/Home/Controller/Index/index.class.php
컨트롤 러 클래스 의 정 의 는 다음 과 같 습 니 다.

namespace Home\Controller\Index;
use Think\Controller;
class index extends Controller{
  public function run(){
    echo '  Index    index  ';
  }
}

현재,우리 가 호출 한 것 은 사실 Home\Controller\Index\index 류 의 run 방법 입 니 다.
이상 은 본 고의 모든 내용 이 므 로 여러분 이 phop 프로 그래 밍 을 배 우 는 데 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기