• 控制器类


    思考:目前我们的一个控制器就对应着网站的一个功能(Mybank 显示),但是,一个网站有很多的功能,难道我们要为每一个功能都单独的创建一个控制器文件吗?

    回答:不需要

    但是,此时 我们需要引入控制器类

     

    控制器类

    概念

    我们将一些列相关或相似的功能,使用一个控制器来处理!而该控制器内的每一个方法就对应着某一个具体的功能,比如 增加卡号,删除卡号,修改卡上金额等,可以用一个学生控制器类完成就可以

    所以,控制器类是按功能来划分的!而不是像模型类是按数据表来划分的!而且,一个模型可以在再多个功能(控制器类)中使用。

    第一步

    创建MybankController.class.php 控制器类

    <?php 
    
        //Mybank 相关控制器
        class MybankController
        {
    
    
            //获取Mybank列表动作
            public function showAction(){
                //调用单例工厂
                include 'Factory.class.php';
                //模型Mybank单例
                $bank= Factory::M("Mybank");
                //调用单例的方法,返回结果集rs
                $rs=$bank->showTable("select * from my_bank");
    
                //调用View 视图
                include 'Mybank.html';  //引入这个视图,rs 才可以使用
            }
    
            /**
             * 删除Mybank动作
             */
    
             public function deleteAction($id){
                 echo "当前删除了一个卡号";
             }
        }

    在上面的控制器类中,后面还可以增加Mybank的删除,增加,或者修改的动作,

    到此为止,原来的控制器文件controller.php就可以删除了!

    思考:

      此时,我们应该如何才能看到以前的列表?

    回答:

      需要实例化MybankController.calss.php类并调用其中的showAction方法!

    第二步:

      增加一个入口文件index.php

    <?php 
    
    
        /**
         * 
         * 入口文件、前端控制器,代码分发器
         */
        //实例化MybankController.class.php控制器
        include './MybankController.calss.php';
        //调用showAction方法
        $action=new MybankController;
        $action->showAction();

    上面的index.php从MVC的角度就叫做前端控制器、也叫入口文件

  • 相关阅读:
    oracle的常见问题与解决
    final、finally、finalize的区别
    java中读取程序运行时间
    数据库设计与SQL优化的建议
    Eclipse 快捷键操作和常用设置
    OO设计原则
    structs常用的Action
    java的深复制与浅复制
    python进制(十进制,八进制,十六进制)
    linux的shell基础
  • 原文地址:https://www.cnblogs.com/xiaowie/p/14324224.html
Copyright © 2020-2023  润新知