最近看到有人问thinkphp mvc是怎么回事,之前学习php做网页的时候用过tp的框架,现在来分享下我对tp mvc的理解. 一:tp5安装配置 j9九游会真人游戏第一品牌官网下载: 注意:php版本>= 5.4.0 下载后解压到项目文件夹(本文将文件解压到tp5) 首先是j9九游会真人游戏第一品牌官网thinkphp5.0.10完整版的目录结构: tp5 ├─application 应用目录 ├─extend 扩展类库目录(可定义) ├─public 网站对外访问目录 ├─runtime 运行时目录(可定义) ├─vendor 第三方类库目录(composer) ├─thinkphp 框架核心目录 ├─build.php 自动生成定义文件(参考) ├─composer.json composer定义文件 ├─license.txt 授权说明文件 ├─readme.md readme 文件 ├─think 命令行工具入口 解压完成后,访问测试:
官方提供的默认应用的实际目录结构和说明如下:
├─application 应用目录(可设置) │ ├─index 模块目录(可更改) │ │ ├─controller 控制器目录 │ │ |–index.php │ ├─command.php 命令行工具配置文件 │ ├─common.php 应用公共文件 │ ├─config.php 应用配置文件 │ ├─tags.php 应用行为扩展定义文件 │ ├─database.php 数据库配置文件 │ └─route.php 路由配置文件 更改访问url 原访问地址为: 网站目录后要增加public比较麻烦 更改为: 方法是: 1.将public目录下的index.php文件移动到项目主目录下(tp5下) 2.将index.php内容修改为:
// [ 应用入口文件 ]// 定义应用目录define('app_path', __dir__ . '/./application/');// 加载框架引导文件require __dir__ . '/./thinkphp/start.php';
修改完成后,访问 即可进入 二.tp5 mvc模式的理解 2.1.什么是模型-视图-控制器(mvc) a、模型(model) 模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑. b、视图(view) 视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。 c、控制器(controller) 控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。 mvc的简单理解
三.mvc的使用 3.1.控制器(controller) thinkphp url访问规则是:入口文件/模块/控制器/操作方法 例如访问如下目录下的index.php则为: ├─application 应用目录(可设置) │ ├─index 模块目录(可更改) │ │ ├─controller 控制器目录 │ │ |–index.php
//application/index/controller/index.php
修改index操作方法为hello操作方法
则url为: 3.2视图(view) 添加视图文件功能 首先在application/index目录下面创建一个view目录,然后添加模板文件view/index/hello.html 视图目录/控制器名/操作名 模板后缀 index控制器的hello操作 对应的模板文件就应该是:./application/index/view/index/hello.html
hello 这里是hello.html的模板文件
此时目录结构为: ├─application 应用目录(可设置) │ ├─index 模块目录(可更改) │ │ ├─controller 控制器目录 │ │ |–index.php │ │ ├─view 视图目录 │ │ ├─index index控制器的视图目录 │ │ |–hello.html 输出视图,必须在控制器方法中进行模板渲染输出操作,现在修改控制器类如下:
fetch(); //模板文件的调用 } }
此时在浏览器输入: 即可访问模板文件view/index/hello.html 3.3模型(model) 模型类的作用大多数情况是操作数据表的,即与数据库交互 添加视图文件功能 例如添加“xxx模型” 首先在application/index目录下面创建一个model目录,然后添加xxx.php文件
add($data); return $id; } //修改数据 public function editdata($map,$data){ $result=$this->where($map)->save($data); return $result; } //删除数据 public function deletedata($map){ $result=$this->where($map)->delete(); return $result; } }
mvc简单流程例子: 用户打开网站并登陆–(访问)–>控制器登陆页面操作方法–>(屏幕输出)视图登陆页面模板—(用户输入密码后)–>控制器调用模型登陆判断方法(连接数据库判断)—登陆成功/失败–>控制器调用视图“登陆成功/失败页面” 以上就是博主对tp mvc模式的理解,初学php有不正确的地方请指正
目前评论:0