zoukankan      html  css  js  c++  java
  • MVC框架思想

    基本原理:显示与逻辑相分离

    目的:为了更好的管理大量的代码:更新,重用 变得容易。

    主要分为

      M:Model,模板,数据处理(逻辑处理)

      C:Controller,控制器,负责流程中调度各个单元

      V:view,视图,用于显示各个单元

    注意:

      模型,在项目中,通常指的是模型类的对象,而不是模型类本身

      如果在一个功能(控制器)中,如果使用某个表的多次操作,应该使用该表的一个模型就可以完成全部任务。

    MVC中的命名规范

      M类文件命名:类名+Model.class.php

      M类的命名规范:类名+Model

      C类文件命名:类名+Controller.class.php

      C类的命名规范:类名+Controller

    控制器的分类

      控制器是按照功能划分的

    模型类的分类

      模型类是按照表来划分的

    MVC的动作分发

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

      功能:比赛列表:

      Index.php?a=list

      判断a参数,执行相应的动作即可

      $default_action = "list";

      $a=isset($_GET["a"] ? $_GET["a"] : $default_action);

      $action_name=$a.Action

    //可变方法

      $controller->$action_name

    一般用常量来储存分发参数

      保证在一次请求周期内,当前控制器与当前动作不会发生改变

    MVC中的文件管理规范

      Index.php入口文件

             Application/应用程序目录

                       Front/前台

                       Back/后台

                       Test/测试平台

                                Model/模型

                                View/视图

                                Controller/控制器

             Framework/框架代码目录

                       MySQLDB.class.php数据库操作类DAO类

                       Factory.class.php工厂类

                       Model.class.php基础模型类

                       Controller.class.php基础控制器类

     

    Tip:函数getCWD()可以用来获得当前工作目录。Current Working Directory

      分发参数共3个:

      P:平台(目录)

      C:控制器(类)

      A:动作(方法)

    自动加载的使用

      //在创建对象时自动加载

      spl_autoload_register(array(__CLASS__, 'userAutoload'));


  • 相关阅读:
    利用Flot作基于时间段的曲线图
    Linux Apache使用CGI
    Windows node.js安装运行npm显示类似"ENOENT, stat 'C:UsersXXXXAppDataRoaming pm'错误
    JavaWeb返回Json格式数据JQuery Ajax无法解析的问题
    C++ 14 auto
    [原创] Jenkins slave agent 分布式构建
    [原创] Jenkins 邮件配置 (使用 Jenkins Email Extension Plugin)
    Linux 域名服务器配置
    证书管理
    Ubuntu 安装 Kubernetes
  • 原文地址:https://www.cnblogs.com/LQK157/p/9172730.html
Copyright © 2011-2022 走看看