(四)Thinkphp运行流程简介

云梦博客
80
文章
0
评论
2018年5月31日15:46:28 评论 2698字阅读8分59秒

ThinkPHP安装完毕后
我们接下来来了解下,ThinkPHP各个组件之间如何协作的
在上一章中,我们配置了一个app的应用,接下来就以这个应用为例子进行讲解

进入app目录中,看到如下目录结构

一般我们进入thinkphp框架,首先是要去寻找控制器Controller,然后通过控制器我们可以找到前端的模板Viewer文件,或者后端数据处理模型Model
接下来,我们简单了解下,MVC的配置方法及运行流程

一、控制器Controller
接下来进入app/Lib/Action/目录
打开IndexAction.class.php,看到如下内容,如果有点html基础的,就知道图片这就是图片中的内容

这就是我们的控制器
在这个控制器里,定义了个IndexAction类,继承了Action类
然后再定义一个index()方法,方法中的内容是,显示一张笑脸
在浏览器中访问http://localhost/think/

那么我们把该控制器换成

那么,说明我们的默认控制器即为IndexAction.class.php

二、视图Viewer
作为初学者,我觉得很多朋友跟我一样有这个疑问,我们需要如何调用视图呢?
其实很简单,还是以上面默认的Index控制器IndexAction.class.php为例

$this->display()与$this->display(index)是一样的作用

接下来,我们要去哪里找我们的视图文件呢?
要在目录app/Tpl/Index/目录下,默认没有Index目录,需要手动创建。这里的Index与控制器的名字IndexAction是对应关系,所以首字母必须大写。
如果以后建立了其他控制器,只需要目录名与控制器名对应即可。如,建立EditAction,即建立Edit目录即可

那么接下来在app/Tpl/Index/建立index.html文件,并在其中输出This is Index Viewer!
然后在浏览器中访问http://localhost/think/

看到如显示
This is Index Viewer!

即表示配置成功

三、模型Model
简单理解,模型就是将数据库、表单数据通过框架统一处理,以达到简化操作目的。
当定义了模型之后,需要在操作中将模型实例化才能具体实现模型中的业务逻辑。

不同的数据业务规则会有不同的模型定义,而在实例化模型的时候也可能不同。ThinkPHP 支持如下几种实例化模型:

1、基础模型类
2、其他模型类
3、用户自定义模型类
4、空模型类

那么如果只是作为了解,目前我们只需要掌握基础模型类和空模型类的使用即可。

实例化基础模型类
定义基础模型类,优点是简单高效,并且支持跨项目调用。
缺点是因为没有自定义的模型类,因此无法写入相关的业务逻辑,只能完成基本的 CURD 操作。
所以如果只是基本的 CURD 操作,建议实例化此种模型类型。
实例化基础模型类方法如下:

实例化空模型类
如果需要使用原生 SQL ,需要实例化一个空模型:
$Model = new Model(); // 执行原生 SQL 语句 $Model->query('SELECT * FROM think_user');
或者使用 M 快捷方法:

$User = M();

本章主要简介MVC相关概念,以及thinkphp运行流程。接下来,我们将在后续章节基于项目进行更详细的讲解。

继续阅读
weinxin
我的微信公众号
扫一扫获取最新动态
  • 文本由 发表于 2018年5月31日15:46:28
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
生活中的苟且 网络杂谈

生活中的苟且

生活中的苟且代表的什么,而诗和远方又是什么。人们常说在生活中若是跨过去了就是诗和远方,跨不过去就只能苟且。在海子的诗中也这样写到:我有一所房子,面朝大海,春暖花开……。我只愿面朝大海,春暖花开。   ...
0基础30天精通网站建设,月入6000元起 网红项目

0基础30天精通网站建设,月入6000元起

读完本篇,将教给你月收入6000元的能力,这里将要介绍一套技术实操型课程,同时会免费送每位读者一个价值12000元的课程。这是一门真正的技术,是所有网络项目的基础,是网“贝兼”的必备技能,也是目前市场...
MySQL实战篇:建立高性能的MySQL技巧 网络杂谈

MySQL实战篇:建立高性能的MySQL技巧

前言 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特...
MySQL进阶:从小工到专家的必读书籍 网络杂谈

MySQL进阶:从小工到专家的必读书籍

各大论坛上总是有很多同学咨询学习MySQL有哪些书,或者是入行DBA要做哪些准备。今天就和大家分享下想学习MySQL可以选择哪些书籍。 数据是Web应用程序最重要的部分。随着互联网和高端Web应用程序...