• match_controller


    控制器层典型实现

    控制器

    依据功能的相关性,将一系列相关的功能,使用一个控制器类来处理,而该控制器的每个方法,就对因某个功能。

    注意控制器是按照功能划分的。(而不是像模型一样,按表来划分)

    前端控制器(请求分发器,入口文件)

    以上listAction()操作应该如何被调用呢

    实例化,并掉方法即可

    在哪里实例化或调用呢

    增加一个可以实例化并调用控制器方法的文件。

    动作action分发参数a

    如何做到一个前端控制器可以调用一个控制器类不同方法动作呢

    请求前端控制器index.php,向其传递a参数,表示当前所需要执行的动作名例如:

    功能:比赛列表:

    Index.php?a=list

    功能:比赛删除:

    Index.php?a=remove

    控制器controller分发参数c

    如果需要执行其他控制器的某个动作应该处理处理前端控制器

    请求前端控制器index.php,向其传递c参数,表示当前所需要执行的控制器类例如:

    比赛的列表动作:

    Index.php?c=Match&a=list

    球队的信息动作

    Index.php?c=Team&a=info&id=TID

    c,aHTML的链接地址中,自动形成好的

    使用常量存储分发参数

    思考

    一次请求周期中,请求的控制器名(当前控制器),所请求的动作名(当前动作),是否会发生更改

    不会发生更改

    如何在语法的层面上,保证在一次请求周期内,当前控制器与当前动作不会发生改变

    存储在变量中,不保证。

    应该使用常量,进行存储当前控制器及其当前动作保证

    Index.php实现:

    基础控制器

    增加 所有的控制器提供基础代码控制器类:

    Controller初始化Content-Type的基础操作

    注意

    浏览器的请求地址URL,都是固定的形式:

    Index.php?c=Controller&a=action&

    称之为单入口模式

    项目对外提供任何功能,都是由某个控制器类的某个方法来实现的。

  • 相关阅读:
    浅谈CLR CTS CLS。。。
    "每日一道面试题".net托管堆是否会存在内存泄漏的情况
    “每日一道面试题”.Net中GC的运行机制
    “每日一道面试题”.Net中所有类的基类是以及包含的方法
    c# 逆波兰式实现计算器
    c#控制台实现post网站登录
    c#读取xml文件
    .net md5
    ado.net知识整理
    第八章:Python高级编程-迭代器和生成器
  • 原文地址:https://www.cnblogs.com/hjc1234/p/9764349.html
Copyright © 2020-2023  润新知