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