>백엔드 개발 >PHP 문제 >PHP 컨트롤러의 메소드는 어디에 있습니까?

PHP 컨트롤러의 메소드는 어디에 있습니까?

(*-*)浩
(*-*)浩원래의
2019-09-24 10:29:472891검색

컨트롤러의 역할은 일반적으로 모델의 데이터를 가져와 표시하기 위해 뷰에 전달하는 것입니다 그렇다면 개발 중에 어떻게 작성해야 할까요?

PHP 컨트롤러의 메소드는 어디에 있습니까?

1. Controller의 클래스 파일을 생성합니다. 내 파일 이름은 MatchController.class.php입니다. (권장 학습: PHP 프로그래밍 입문부터 숙달까지)

<?php/**
 * 比赛操作相关控制器功能类 
 */class MatchController{
    /**
     * 比赛列表操作
     */
    public function listAction(){
        header(&#39;Content-Type: text/html;charset=utf-8&#39;);
        //实例化相应的模型类对象,调用某个方法,实现固定功能
        // require &#39;./MatchModel.class.php&#39;;
        // $m_match = new MatchModel();
        //通过工厂获得对象
        require &#39;./Factory.class.php&#39;;
        $m_match = Factory::M(&#39;MatchModel&#39;);
        $match_list = $m_match->getList();
        // $m_match2 = Factory::M(&#39;MatchModel&#39;);

        // 载入负责显示的html文件
        require &#39;./template/match_list_v.html&#39;;
    }
    /**
     * 比赛删除
     */
    public function removeAction(){
        
    }

2. 컨트롤러 객체(프론트엔드 컨트롤러 또는 요청 디스패처), 파일 이름 index.php

index.php가 우리가 원하는 작업을 수행할 수 있도록 하려면 일부 매개변수를 index.php에 전달하여 항목 파일에 알려야 합니다. 그것을하는 방법.

게임 목록(콘테스트 컨트롤러)에서 게임 정보를 삭제하려면 다음과 같이 index.php에 전달할 수 있습니다.

index.php?c=match&a=remove&id=N

해당 HTML 파일은 다음과 같이 작성해야 합니다.

PHP 컨트롤러의 메소드는 어디에 있습니까?

index .php:

<?php
//动作
$default_action = &#39;list&#39;;
$a = isset($_GET[&#39;a&#39;])?$_GET[&#39;a&#39;]:$default_action;

//实例化控制器类
require &#39;./MatchController.class.php&#39;;
//实例化
$controller = new MatchController();
//调用方法
$action_name = $a.&#39;Action&#39;;
$controller -> $action_name();//可变方法

위 내용은 PHP 컨트롤러의 메소드는 어디에 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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