MVC : M->Model 模型(数据层)     V->View 视图(视图层)  C->Controller 控制器(逻辑层)

           M : 操作数据(连接数据库,访问数据)

           V : 提供显示模板

           C : 实现业务逻辑

MVC : 访问的不是页面,而是方法  (约定大于配置)

           访问方式 : 找到入口文件 index.php进行操作  地址前加服务器 localhost/框架

          (一) index.php?m=Home&c=Index&a=index //Home : 模块文件所在位置   Index : 控制器    index : 控制下的方法

          (二) index.php?Home/Index/index                 //Home : 模块文件所在位置   Index : 控制    index : 控制下的方法

          (三) Home/Index/index                                    //省去入口文件也可以实现(个人认为最好的方式,安全,简单)

          (四) index.php? s=/Home/Index/index         //Home : 模块文件所在位置   Index : 控制    index : 控制下的方法

MVC : 使用规则->以下文件均在项目的Home文件夹下操作

M : 控制器文件写在 Controller 文件夹下,命名规则-> 自启名称Controller.class.php  (注:控制器与类相似)

      控制器下的方法可以调用模板 : $this->display();

      代码格式如下 : 

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index()
    {
        $this->display();
    }
}

 V : 模板文件写在 View 文件夹下自己创建的一个与控制器文件名称相同的文件夹下,命名规则->控制器下的方法名.html

      代码格式如下

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>控制器</title>
</head>
<body>
<h1>tp框架下我的第一个方法</h1>
</body>

MVC : 获取具体的错误信息  在配置文件中加入 : 'SHOW_PAGE_TRACE' => TRUE,   

           获取访问路径  在配置文件中加入 : 'URL_MODEL'=>2,      (注 : 配置文件的所在位置TP/项目/Home/Conf)

MVC : 获取tp框架下模块信息的代码   var_dump(get_defined_constants());

           同时为方法添加前置方法和后置方法  代码如下 :

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller
{
    public function _before_index()  //方法的前置方法
    {
        echo"<b>index的前置方法</b>";
    }
    public function index()
    {
        var_dump(get_defined_constants());   //获取tp框架下模块所有信息
    }
    public function _after_index()  //方法的后置方法
    {
        echo"<b>index的后置方法</b>";
    }
}

MVC : 带参数的方法 访问时的传参方式 localhost/tp/home/index/index/name/1/id/2

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller
{
    public function index($name,$id)   //参数
    {
        echo"$name $id";
    }
}

MVC : 重写模式开启配置文件更改方法

1、在httpd.conf配置文件搜索 LoadModule rewrite_module modules/mod_rewrite.so (Apache2是这个)去掉前面的#

2、AllowOverride None 将None改为 All

第九十七天请假 PHP TP框架 MVC模式的更多相关文章

  1. tp框架 MVC模式

    一.定义 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方 ...

  2. 第九十八天请假 PHP TP框架 空操作和命名空间

    访问空方法解决办法->在控制器里面创建 _empty 方法 <?php namespace Home\Controller; use Think\Controller; class Ind ...

  3. 第九十九天上课 PHP TP框架 数据库查询和增加

    在Model文件夹下创建模型,文件命名规则 : 表名Model.class.php <?php namespace Home\Model; use Think\Model; class yong ...

  4. tp框架的MVC模式

    一.定义 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方 ...

  5. 二十七、EFW框架BS系统开发中的MVC模式探讨

    回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.3:http://pan.baidu.com/s/1c0dADO0 EFW框架实例源代码下载:http://p ...

  6. TP框架基础

    什么是TP框架: 一堆代码的集合,里边有变量.函数.类.常量,设计模式MVC.AR数据库.单例等等.全称是Tinkphp框架; 为什么使用框架: 使用框架将全部精力集中在业务层次,节省50-60%的工 ...

  7. TP框架 基础1

    php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格 ...

  8. tp框架基础知识

    作者:黄力军 index.php入口文件:作用,所有tp框架里的内容要想访问文件.都要走index.php文件他是整个程序的入口 Application代表应用程序的目录   所有写的应用程序放这里 ...

  9. tp框架之对列表的一系列操作及跳转页面(详细步骤)

    依旧是在Main控制器里面写类方法,如果想看tp全部的话,可以从前几篇开始看,都是一整个步骤下来的 在控制器中重新写个类 然后再做个shouye.html页面 nation表的数据,将会在shou.h ...

随机推荐

  1. 深入学习golang(1)—数组与切片

    数据(array)与切片(slice) 数组声明: ArrayType   = "[" ArrayLength "]" ElementType . 例如: va ...

  2. python学习:函数的学习

    我们写东东的时候,往往有一些东西要频繁去复用,那么每个功能是10行代码,复用2次就是20行,这样看来我们的程序如果频繁利用某些代码的话,那么会是我们开发的东西越来越臃肿.那么好的方法有没有呢,那就是函 ...

  3. CentOS 6.5 安装CodeBlocks

    CentOS 6.5 安装CodeBlocks 经历了无数痛苦的折磨,Linux上的库依赖真是能把人逼疯,终于在Google上找到了办法,勉强将CodeBlocks安装成功. 1.为了避免最新版本的C ...

  4. CentOS 6.5设置静态IP教程 并且可以ping通

    CentOS6.5掉电或重启,它的IP会被DHCP重新分配,如果要远程控制这台电脑,不得不去打开显示器去查看它的新IP,这样太麻烦了.于是需要将这台电脑的IP设置成静态的. 网上常规的设置静态ip的方 ...

  5. python 深拷贝与浅拷贝

    浅拷贝的方式有: lst=[1,2,3] (1)直接赋值: lst_cp = lst (2)for循环遍历生成:lst_cp= [i for i in lst] (3)copy模块下,copy.cop ...

  6. HDU 1568 double 快速幂

    Fibonacci Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  7. yum info 查不到nginx下载info的问题

    如果查看nginx信息提示nginx找不到,那么可以通过修改rpm源来进行后续步骤,执行命令:rpm -ivh http://nginx.org/packages/centos/6/noarch/RP ...

  8. javascript中的闭包解析

    学习javaScript已经有一段时间了,在这段时间里,已经感受到了JavaScript的种种魅力,这是一门神奇的语言,同时也是一门正在逐步完善的语言,相信在大家的逐步修改中,这门语言会逐步的完善下去 ...

  9. PC安装了MAC,那么CMD键和OPTION键什么的在哪里?

    OS X中Command键所在的位置对应windows中Alt键的位置,OS X中Option键对应windows中Shift键的位置.如果使用中有不习惯的地方,可以通过设置修改,具体方法如下: 1. ...

  10. WCF:没有终结点在侦听可以接受消息的*这通常是由于不正确的地址或者 SOAP操作导致的。

    没有终结点在侦听可以接受消息的 http://xx.com/WebService.svc. 这通常是由于不正确的地址或者 SOAP 操作导致的.如果存在此情况,请参见 InnerException 以 ...