发布网友 发布时间:2024-09-25 14:37
共1个回答
热心网友 时间:2024-10-31 17:38
上一课讲得是如何搭建php环境和下载并运行thinkphp项目,如果需要了解的朋友可以 点击这里 查看上一节内容
本节主要讲解:thinkphp的目录结构、控制器、模型、视图的创建以及使用
目录结构wwwWEB部署目录(或者子目录)├─application 应用目录│├─common 公共模块目录(可以更改)│├─module_name模块目录││├─config.php模块配置文件││├─common.php模块函数文件││├─controller控制器目录││├─model 模型目录││├─view视图目录││└─ ...更多类库目录│││├─command.php命令行工具配置文件│├─common.php 公共函数文件│├─config.php 公共配置文件│├─route.php路由配置文件│├─tags.php 应用行为扩展定义文件│└─database.php 数据库配置文件│├─publicWEB目录(对外访问目录)│├─index.php入口文件│├─router.php 快速测试文件│└─.htaccess用于apache的重写│├─thinkphp框架系统目录│├─lang 语言文件目录│├─library框架类库目录││├─think Think类库包目录││└─traits系统Trait目录│││├─tpl系统模板目录│├─base.php 基础定义文件│├─console.php控制台入口文件│├─convention.php 框架惯例配置文件│├─helper.php 助手函数文件│├─phpunit.xmlphpunit配置文件│└─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查询到的数据,讲标题和内容输出
以上就是今天的全部内容,后面会讲解数据库的增删改查和模型的内置标签语法
原文:https://juejin.cn/post/7096730104574771231