上一课讲得是如何搭建php环境和下载并运行thinkphp项目,如果需要了解的朋友可以点击这里查看上一节内容
本节主要讲解:thinkphp的目录结构、控制器、模型、视图的创建以及使用
目录结构
www WEB部署目录(或者子目录)
├─application 应用目录
│ ├─common 公共模块目录(可以更改)
│ ├─module_name 模块目录
│ │ ├─config.php 模块配置文件
│ │ ├─common.php 模块函数文件
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ └─ ... 更多类库目录
│ │
│ ├─command.php 命令行工具配置文件
│ ├─common.php 公共函数文件
│ ├─config.php 公共配置文件
│ ├─route.php 路由配置文件
│ ├─tags.php 应用行为扩展定义文件
│ └─database.php 数据库配置文件
│
├─public WEB目录(对外访问目录)
│ ├─index.php 入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于apache的重写
│
├─thinkphp 框架系统目录
│ ├─lang 语言文件目录
│ ├─library 框架类库目录
│ │ ├─think Think类库包目录
│ │ └─traits 系统Trait目录
│ │
│ ├─tpl 系统模板目录
│ ├─base.php 基础定义文件
│ ├─console.php 控制台入口文件
│ ├─convention.php 框架惯例配置文件
│ ├─helper.php 助手函数文件
│ ├─phpunit.xml phpunit配置文件
│ └─start.php 框架入口文件
│
├─extend 扩展类库目录
├─runtime 应用的运行时目录(可写,可定制)
├─vendor 第三方类库目录(Composer依赖库)
├─build.php 自动生成定义文件(参考)
├─composer.json composer 定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行入口文件
以上是官方给到的目录结构说明。
我们主要用到application文件夹,这一层是编写代码的应用层。
我们的代码都会在这里编写,包括配置数据库、调试模式等,都在这个文件夹内,其他的文件夹后面用到的时候我会再跟大家讲解。
数据库配置
接下来我们讲讲数据库配置,thinkphp给了一个文件,专门配置数据库(目录地址:/application/database.php),非常的简单,字段填写都有备注,大家可以根据自己的数据库信息进行填写:
这样数据库信息就配置完成了,我在数据库里创建了一个dm_article的数据表,里面我插入了两条数据,下面讲解会用到:
控制器
控制器的作用
首先控制器有什么作用呢?它主要起到模型层和视图层之间衔接的作用,主要对前端传递的数据以及数据库查询出来的数据进行处理。
创建一个控制器
控制器必须使用大驼峰命名方式:例如:Index、User、Login等
控制器目录解释:application/控制器目录/controller/控制器,例如:application/index/controller/Index.php
- 手动创建
根据上面的目录一次创建控制器,要注意首字母必须大写。手动创建需要自己写类名继承 - 命令创建
使用命令创建的话,会自动在对应的控制器目录下创建好控制器,控制器文件内会自动生成默认类名以及继承
创建控制器命令为:php think make:controller index/Index
,这个命令是在index控制器目录下创建一个Index.php的控制器文件
控制器的使用
控制器中可以连接数据库模型进行数据查询,查询完数据后渲染到视图层进行展示,以下代码就实现了数据库的查询和视图渲染:
模型
模型介绍
主要用于数据库查询,用于数据交互
创建模型
- 手动创建模型,目录位置为:
application/控制器目录/model/模型.php
,同样以大驼峰进行命名,需自己填充内容 - 命令创建,会创建并填充默认数据,命令为:
php think make:model index/Article
,创建完后如下图一样,这个默认关联到article数据库:
视图
视图介绍
主要用于前端页面编写,展示给用户的那一层,目录为:
application/控制器/view/对应控制器中方法名字
这里开头字母为小写 例如:application/index/view/index.html
下面是我创建的视图,循环了通过数据库模型Article查询到的数据,讲标题和内容输出
以上就是今天的全部内容,后面会讲解数据库的增删改查和模型的内置标签语法