本文最后更新于:2020年12月10日 晚上

一、前言

作为PHP中对国人适应性最好的thinkPHP绝对是最适合入门的PHP后端框架了,所以在专升本的闲暇时间打算为以后做准备,打算好好学习一下thinkPHP。

1、PHP中的主流框架:

①Zend Framework 框架,PHP官方框架。

②YII框架,又叫易框架。

③Symfony 框架。

④Laravel框架,市场使用较多。

⑤Codelgniter框架,简称CI框架。

⑥ThinkPHP框架,简称TP框架,常用版本:3.2.3和 5.0.*版本。

这些框架大多都基于MVC设计思想和面向对象的。

mvc:

M:模型model,处理业务数据,与数据库做交互。

V:视图view,显示html页面,用户能够看到并与之交互的页面。

C:控制器controller,接收请求,调用模型处理数据,调用视图显示页面。

整个网站应用,分为模型、视图、控制器三大部分组成。


二、TP框架基础

1、目录结构

 1.project  应用部署目录
 2.├─application           应用目录(可设置)
 3.│  ├─common             公共模块目录(可更改)
 4.│  ├─index              模块目录(可更改)
 5.│  │  ├─config.php      模块配置文件
 6.│  │  ├─common.php      模块函数文件
 7.│  │  ├─controller      控制器目录
 8.│  │  ├─model           模型目录
 9.│  │  ├─view            视图目录
10.│  │  └─ ...            更多类库目录
11.│  ├─command.php        命令行工具配置文件
12.│  ├─common.php         应用公共(函数)文件
13.│  ├─config.php         应用(公共)配置文件
14.│  ├─database.php       数据库配置文件
15.│  ├─tags.php           应用行为扩展定义文件
16.│  └─route.php          路由配置文件
17.├─extend                扩展类库目录(可定义)
18.├─public                WEB 部署目录(对外访问目录)
19.│  ├─static             静态资源存放目录(css,js,image)
20.│  ├─index.php          应用入口文件
21.│  ├─router.php         快速测试文件
22.│  └─.htaccess          用于 apache 的重写
23.├─runtime               应用的运行时目录(可写,可设置)
24.├─vendor                第三方类库目录(Composer)
25.├─thinkphp              框架系统目录
26.│  ├─lang               语言包目录
27.│  ├─library            框架核心类库目录
28.│  │  ├─think           Think 类库包目录
29.│  │  └─traits          系统 Traits 目录
30.│  ├─tpl                系统模板目录
31.│  ├─.htaccess          用于 apache 的重写
32.│  ├─.travis.yml        CI 定义文件
33.│  ├─base.php           基础定义文件
34.│  ├─composer.json      composer 定义文件
35.│  ├─console.php        控制台入口文件
36.│  ├─convention.php     惯例配置文件
37.│  ├─helper.php         助手函数文件(可选)
38.│  ├─LICENSE.txt        授权说明文件
39.│  ├─phpunit.xml        单元测试配置文件
40.│  ├─README.md          README 文件
41.│  └─start.php          框架引导文件
42.├─build.php             自动生成定义文件(参考)
43.├─composer.json         composer 定义文件
44.├─LICENSE.txt           授权说明文件
45.├─README.md             README 文件
46.├─think                 命令行入口文件

2、调试模式

5.0.10+版本开始,默认关闭调试模式,需要自己开启;在开发阶段可以将框架设置成调试模式,以便进行错误调试:

修改 项目目录\application目录\config.php中的app_debug配置参数:

// 关闭调试模式
'app_debug' =>  false,

开启后报错会提示详细的错误信息和位置;相对于 线上环境(开发完成后的阶段),叫做 部署模式或者生产模式。

img

3、控制器

1、控制器的后缀

打开配置文件application/config.php,有如下配置

'controller_suffix' => false,

表示默认情况下,控制器无特殊后缀。例如 Index控制器,文件名为Index.php

如果需要进行设置,可以设置为(我们不需要这么设置)

'controller_suffix' => 'Controller',

表示控制器以Controller为后缀。例如Index控制器,文件名为IndexController.php

2、控制器的定义

1)定义位置及命名规则

定义位置:application/模块目录/controller/目录下

命名规则:控制器名称(首字母大写) + (控制器后缀,默认没有) + .php

默认:Index控制器 Index.php

User控制器 User.php

Test控制器 Test.php

2)编写控制器

①声明命名空间 namespace app\模块目录名\controller

②引入控制器基类(可选) use think\Controller; think是命名空间 Controller是基类控制器

③定义当前控制器类,继承控制器基类(可选)

tp01-2

3、url访问

格式:http://域名/入口文件/模块名/控制器名称/操作方法名称/参数名/参数值

隐藏入口文件写法:http://域名/模块名/控制器名称/操作方法名称/参数名/参数值

隐藏入口可以去掉URL地址里面的入口文件index.php需要对apache进行设置

tk01-3

三、创建模块

1、创建前后台模块

假设现在要建站,需要一个前台网站模块和后台管理系统模块;创建home(前台)和admin(后台)两个模块

设置访问模块

打开配置文件application/config.php,有如下配置

'default_module' => 'index',

表示默认访问模块为index模块

可以更改默认模块为home模块

'default_module' => 'home',

2、使用命令行创建模块

项目根目录 执行命令(think文件所在的目录)

1、命令行创建模块目录

自动生成模块目录命令:

php think build --module 模块名

例如:建test模块目录,执行命令 :

php think build --module test(模块名小写)

2、命令行创建控制器

通常可以通过以下命令,自动创建控制器

php think make:controller 模块名/控制器名 
php think make:controller 模块名/控制器名 --plain(空方法类)

3、命令行创建模型

通常通过以下命令,自动创建模型:

php think make:model 模块名/模型名

例如:创建home模块User模型

php think make:model home/User (模型名首字母大写)

四、总结

1.安装部署框架,熟悉目录结构(application public)

2.控制器定义、控制器的访问(隐藏入口文件、Path_info格式url) 能够访问到指定的控制器方法

3.命令行操作(创建模块,创建控制器类)(环境变量等)



本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

好久没更新博客了 上一篇
初学nmap(1) 下一篇