• 技术文章 >后端开发 >PHP问题

    php控制器是什么意思

    藏色散人藏色散人2021-11-26 10:44:48原创71

    php控制器就是指MVC中的C,即Controller,其控制器的作用通常是获取模型(Model)中数据并交给视图(View)去显示。

    本文操作环境:Windows7系统、PHP7.1、Dell G3。

    php控制器是什么意思?

    PHP中控制器(Controller)层的实现

    控制器(Controller)的作用通常是在获取模型(Model)中数据并交给视图(View)去显示,那开发中我们应该如何去写呢?

    1.创建Controller的类文件,我这里文件名为MatchController.class.php

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

    2.在入口文件中实例化控制器对象(前端控制器或请求分发器),文件名index.php

    为了能让index.php去执行我们要操作的动作,应该传给index.php一些参数,来告诉入口文件怎么做。
    假如我们要在比赛列表(比赛Controller)中删除一条比赛信息,可以这样传参给index.php:

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

    相应的HTML文件应该这样写:

    387bedc8285123f0883db1bdd670145.png

    通过点击事件给index.php传参

    index.php:

    <?php
    //动作
    $default_action = 'list';
    $a = isset($_GET['a'])?$_GET['a']:$default_action;
    
    //实例化控制器类
    require './MatchController.class.php';
    //实例化
    $controller = new MatchController();
    //调用方法
    $action_name = $a.'Action';
    $controller -> $action_name();//可变方法

    a8a15bb2c557597de52e96747d17efe.png

    推荐学习:《PHP视频教程

    以上就是php控制器是什么意思的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php 控制器
    上一篇:php双竖线表示什么意思 下一篇:php怎么获取数组中有几个元素
    php中文网线上培训班

    相关文章推荐

    • ThinkPHP路由地址是怎么进行控制器实例化的• 解决ThinkPHP6提示控制器不存在问题• TP5框架命名空间控制器继承无效是什么情况• 解决ThinkPHP6控制器不存在app\controller\Index的问题

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网