第九十七天请假 PHP TP框架 MVC模式
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模式的更多相关文章
- tp框架 MVC模式
一.定义 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方 ...
- 第九十八天请假 PHP TP框架 空操作和命名空间
访问空方法解决办法->在控制器里面创建 _empty 方法 <?php namespace Home\Controller; use Think\Controller; class Ind ...
- 第九十九天上课 PHP TP框架 数据库查询和增加
在Model文件夹下创建模型,文件命名规则 : 表名Model.class.php <?php namespace Home\Model; use Think\Model; class yong ...
- tp框架的MVC模式
一.定义 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方 ...
- 二十七、EFW框架BS系统开发中的MVC模式探讨
回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.3:http://pan.baidu.com/s/1c0dADO0 EFW框架实例源代码下载:http://p ...
- TP框架基础
什么是TP框架: 一堆代码的集合,里边有变量.函数.类.常量,设计模式MVC.AR数据库.单例等等.全称是Tinkphp框架; 为什么使用框架: 使用框架将全部精力集中在业务层次,节省50-60%的工 ...
- TP框架 基础1
php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格 ...
- tp框架基础知识
作者:黄力军 index.php入口文件:作用,所有tp框架里的内容要想访问文件.都要走index.php文件他是整个程序的入口 Application代表应用程序的目录 所有写的应用程序放这里 ...
- tp框架之对列表的一系列操作及跳转页面(详细步骤)
依旧是在Main控制器里面写类方法,如果想看tp全部的话,可以从前几篇开始看,都是一整个步骤下来的 在控制器中重新写个类 然后再做个shouye.html页面 nation表的数据,将会在shou.h ...
随机推荐
- UITabBarController常见代理方法的使用
//下面两个函数是成对出现的若第一个函数返回YES那么第二个方法自动触发执行 //是否允许选择不同的Item触发后续操作,YES是允许,NO是不允许 -(BOOL)tabBarController:( ...
- bigworld源码分析(5)——BaseApp分析
BaseApp负载部分,核心代码缺失...网上的源码中都找不到,暂时没办法分析其核心内容,很遗憾,继续寻找吧,等找到了,再继续自己的分析.
- Python 决策树的构造
上一节我们学习knn,kNN的最大缺点就是无法给出数据的内在含义,而使用决策树处理分类问题,优势就在于数据形式非常容易理解. 决策树的算法有很多,有CART.ID3和C4.5等,其中ID3和C4.5都 ...
- Java-->Json解析网页数据
--> 官方解析jar包: 链接:http://pan.baidu.com/s/1pKDnXKv 密码:694d --> 离线Json格式检测工具: 链接:http://pan.baidu ...
- Node.js高级编程读书笔记 - 3 网络编程
Outline 3.4 构建TCP服务器 3.5 构建HTTP服务器 3.6 构建TCP客户端 3.7 创建HTTP请求 3.8 使用UDP 3.9 用TLS/SSL保证服务器的安全性 3.10 用H ...
- C++ Primer : 第十三章 : 拷贝控制之拷贝控制和资源管理
定义行为像值的类 行为像值的类,例如标准库容器和std::string这样的类一样,类似这样的类我们可以简单的实现一个这样的类HasPtr. 在实现之前,我们需要: 定义一个拷贝构造函数,完成stri ...
- 在yii中使用多个数据库
背景: 对于一个大公司拥有多个分公司的应用场景下,我们通常需要配置多个sub-database(子数据库)来存储不同的数据纪录. 配置步骤: 1.在application骨架里面的主配置文件main. ...
- linux iftop流量查看工具的安装与使用
1.安装依赖包yum install flex byacc libpcap ncurses ncurses-devel libpcap-devel 2.下载iftop wget http://www ...
- 利用Handler延时机制实现点击两次退出程序
第一步:声明一个标记变量用来判断是否需要退出 第二步:重写handlerMessage方法 第三步:自定义一个exit()方法给标记变量赋值 第四步:重写onKeyDown方法 private s ...
- Mabitis 多表查询(一)resultType=“java.util.hashMap”
1.进行单表查询的时候,xml标签的写法如下 进行多表查询,且无确定返回类型时 xml标签写法如下: <select id="Volume" parameterType=&q ...