zoukankan      html  css  js  c++  java
  • 控制器类

    思考:目前我们的一个控制器就对应着网站的一个功能(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的角度就叫做前端控制器、也叫入口文件

  • 相关阅读:
    图片合成
    ASP.net常用对象之一(Request对象)
    vs2010新增功能
    ASP.NET MVC 入门5、View与ViewData【转】
    ASP.NET MVC 入门3、Routing【转】
    ASP.NET MVC 入门2、项目的目录结构与核心的DLL[转]
    ASP.NET MVC 入门4、Controller与Action【转】
    jquery相关文摘
    application技术整理
    vb datagrid中的欄目順序要與recordset的順序一致
  • 原文地址:https://www.cnblogs.com/xiaowie/p/14324224.html
Copyright © 2011-2022 走看看