一、框架介绍


1、框架简介和版本选择
Thinkphp是一种基于php的开源web应用程序开发框架ThinkPHP框架,是免费开源的、轻量级的、简单快速且敏捷的php框架。你可以免费使用TP框架,甚至可以将你的项目商用;
ThinkPHP8.0 是目前框架正式版的最新版本,本教程采用的是最常用且稳定的TP6.0版本。
ThinkPHP6.0 环境要求 PHP 版本是 7.2.5+以上,不支持5.1的无缝升级。


此处本人使用的是Apache24来部署web服务:【开启thinkPHP6安装前,请安装php,Apache24】

【小白专用24.5.26已验证】windows 11 安装PHP8.3 +Apache2.4_win11下如何安装win+apache+php环境-CSDN博客

二、安装步骤

2.1,composer下载及安装

Composer是一个PHP的依赖管理工具,可以用于管理项目中的PHP库和包的依赖关系。它可以帮助开发人员轻松地安装、更新和卸载项目所需的各种依赖库。Composer还可以自动解决依赖冲突问题,并且可以根据项目需要自动加载所需的库文件。使用Composer可以更好地组织和管理PHP项目的代码和依赖关系。

TP6.0版本开始,必须通过Composer方式进行安装和更新,所以你无法通过Git下载安装

composer下载,下载网

Composer (getcomposer.org)icon-default.png?t=O83Ahttps://getcomposer.org/

下载步骤如下

composer安装

下载完成之后双击安装程序进行安装

查看composer是否安装

安装完成后,我们可以通过命令窗口(cmd) 输入 composer --version 命令来查看是否安装成功:

测试是否安装成功打开命令提示符按win+r键,然后输入cmd就可以打开,再输入composer,回车出现下面的提示就成功了

确定composer安装好:

2.2安装 ThinkPHP6

现在,先启用服务器环境,测试本地 Web 环境是否正常【本人使用的是Apache24来部署web服务】;


在php.ini文件中启用了相应的扩展。找到php.ini文件,然后找到这2行,确保前面没有分号(;)注释符号,不然安装过程会出现问题(在文章末尾已展示出来);

extension=fileinfo
extension=zip
extension=gd

首次安装咱们需要打开控制台:

【技巧】

2.切换到指定目录,执行下载Thinkphp6命令。然后等待下载完成就可以了,文件下载与网速相关,慢的需要等一会。(安装的路径可以提前换到自己需要安装的路径,后面最后的 tp61,这个名字可以根据自己的需要自己取,是新建个 tp61 目录,可改名,这个目录就是我们后面会经常提到的应用根目录

composer create-project topthink/think tp61
  • create-project: 是composer中的项目创建命令
  • topthink/think: ThinkPHP的组件包
  • tp61: 是当前的项目目录(如果没有创建, 该命令会自动创建的),执行过程的截图如下所示

7.cd到tp61,然后输入:php think run即可运行成功

查看当前安装的tp61版本
cd到tp61,然后输入:php think version即可运行成功

4. 浏览器访问测试是否部署成功

启动成功后,我们在浏览器中输入127.0.0.1:8081/tp6/public/查看即可,出现正常的thinkphp访问界面为成功!恭喜你,现在已经完成ThinkPHP6.0的安装!下图说明tp6部署成功,如此,ThinkPHP6.0 已经帮我们将域名自动部署到 public 里了。接下来就可以配置框架的文件了。

测试是否安装成功,thinkphp的对外部公开可以访问的目录是public。所以如果不另外设置,任何不包含public目录的路由都不可访问:此时我在浏览器中输入:http://localhost:8081/tp61/public或者http://localhost:8081/tp61/public/index.php/index/index(为什么这个路径也可以访问首页下面会讲到)显示如下内容,就说明tp6部署成功。

【本次使用的是Apache24来部署web服务,将网站访问目录改为tp61下面的public目录,就可以通过http://localhost:8081直接访问啦!

如果 80 端口没有被占用的情况下,使用如下命令直接访问 http://localhost;

如果想修改端口的话 使用命令php think run -p 端口号

报错解决

安装完ThinkPHP后,可开启报错信息提示,便于调试使用。

在config文件的app.php开启显示错误信息,'show_error_msg'   => true。

 开启debug调试:

 

怎么回事呢?看不出来是哪里出错了,路径是没错的,下面我们开启debug模式来看看:

找到app同级目录文件.example.env,更名为.env,另外在文件中要加上一句:APP_DEBUG = true,保存。

(讲两点: 第一点是.env文件算是可有可无,其他配置文件首先会去尝试寻找.env文件的配置,并引入,找不到就用自己的配置信息。包括数据库配置database.php文件中,也会去寻找.env文件里面的配置信息。后面会慢慢学习到;另外一点是开启debug模式后,在后端向前端返回参数信息的时候,后面除了返回自己的 参数字符串信息 还会跟一大串的html代码,那些都是开启debug模式的自带的显示调试的信息,挺烦人的,也不知道咋办,关了吧,没调试,难排错,不关吧,获取个参数还得搞字符串分割,觉得烦可以改成app_dubug = false)

 重新输入url访问:会跳出来调试信息,很直观的,告诉我们可能是路由设置的问题。

首页访问配置:

在vscode编辑器中打开tp6文件(前提是你vscode下好了插件并配置好了php环境的路径),看到默认下好的框架目录如下:初学我们需要重点关注的目录大致只有app、config、public三个

我们先看一下app目录:默认只有一个controller文件,且下面写了一个index.php类。在Index类的index()方法返回的信息就是我们访问默认首页显示的内容。

尝试改一下返回内容:

重新访问:

说到这里就不得不说一下,为什么测试的路径两个http://localhost:8081/tp61/public/或者http://localhost:8081/tp61/public/index.php/index/index都可以访问,而且路径中没有包含controller目录:

说一下首页访问路径:

1、访问http://localhost:8081/tp61/public/路由,会自动调用tp61框架中默认应用的默认控制器(index.php)中的方法(index class中的index()方法)。所以你如果想修改默认的首页,不妨去修改这些默认设置。

2、访问http://域名/最外层文件名/public目录/过滤文件index.php/控制器名(控制器和类名一样)/方法名/方法参数名/参数值在路径中 index.php 是必须经过的文件,这一路由有点复杂,但是他就是这样设置的,愣是想改的话也可以,不过我还没试过。。 如下示例,我们用此路径访问index控制器中的hello,并传入参数:

输入url访问:会跳出来调试信息,很直观的,告诉我们可能是路由设置的问题

解决办法:在config目录下找到第一个app.php文件打开,将with_route的值改为false即可

再次访问:它又可以了

此时,你在controller目录下面尝试着创建其他的类也是可以访问的,示例如下:

controller下创建users.php,并编写同名的类。里面写一个love方法,看一下请求是否可以成功:

命名空间是为了声明这是一个控制器,应该是不能少的,毕竟thinkphp框架是采用MVC模式,model和view可以没有,控制器没有那还是框架嘛。。。

再访问一下:

前面一直强调默认应用,默认控制器,默认调用方法。那么控制器和方法都可以有多个,为什么应用还有默认之说,这不才一个项目吗?难道项目还可以有多个吗?答案是肯定的。

三、安装成功后 目录结构

  • 6.0 版本目录结构的主要变化是核心框架纳入vendor目录,然后原来的application目录变成app目录。
  • 安装后的目录结构就是一个单应用模式

www  WEB部署目录(或者子目录)
├─app           应用目录
│  ├─controller      控制器目录
│  ├─model           模型目录
│  ├─view            视图目录

│  ├─ ...            更多类库目录
│  │
│  ├─BaseController.php    默认基础控制器类
│  ├─ExceptionHandle.php   应用异常定义文件
│  ├─common.php            全局公共函数文件
│  ├─middleware.php        全局中间件定义文件
│  ├─provider.php          服务提供定义文件
│  ├─Request.php           应用请求对象
│  └─event.php             全局事件定义文件

├─config                配置目录
│  ├─app.php            应用配置
│  ├─cache.php          缓存配置
│  ├─console.php        控制台配置
│  ├─cookie.php         Cookie配置
│  ├─database.php       数据库配置
│  ├─filesystem.php     文件磁盘配置
│  ├─lang.php           多语言配置
│  ├─log.php            日志配置
│  ├─middleware.php     中间件配置
│  ├─route.php          URL和路由配置
│  ├─session.php        Session配置
│  ├─trace.php          Trace配置
│  └─view.php           视图配置

├─view            视图目录
├─route                 路由定义目录
│  ├─route.php          路由定义文件
│  └─ ...

├─public                WEB目录(对外访问目录)
│  ├─index.php          入口文件
│  ├─router.php         快速测试文件
│  └─.htaccess          用于apache的重写

├─extend                扩展类库目录
├─runtime               应用的运行时目录(可写,可定制)
├─vendor                Composer类库目录
├─.example.env          环境变量示例文件
├─composer.json         composer 定义文件
├─LICENSE.txt           授权说明文件
├─README.md             README 文件
└─think                 命令行入口文件
 

 ThinkPHP6 核心目录vendor目录

三、配置数据库及基本使用

在config下的databases.php文件中配置数据库服务器地址、数据库名、用户名、密码等信息

 四、视图安装

视图功能由\think\View类配合视图驱动(也即模板引擎驱动)类一起完成,新版仅内置了PHP原生模板引擎(主要用于内置的异常页面输出),如果需要使用其它的模板引擎需要单独安装相应的模板引擎扩展。如果需要使用thinkTemplate模板引擎,需要安装think-view扩展(该扩展会自动安装think-template依赖库)

该扩展跟tp6安装多应用扩展一样,需要安装think-template(命令:composer require topthink/think-view),切记一定要在项目根目录进行安装

【小白专用 已验证24.5.31】ThinkPHP6 视图的安装及模板篇之传参和渲染-CSDN博客

可以会遇到的报错内容:Driver [Think] not supported.

原因:未安装thinkview模板引擎,解决方式,使用cmd窗口,将目录切换到ThinkPHP文件根目录下,使用composer安装thinkview引擎模板:

d:
cd /xampp/htdocs/tp
composer require topthink/think-view
 

五、使用thinkphp渲染HTML

在view文件下创建一个HTML模板,示例代码如下:

六、模板渲染和变量赋值

在安装好think-view后,我们就可以使用控制器来将不同的请求转到不同的视图了,并且可以传递一些参数过去。比如在原有的index.php控制器中,修改对应的一些方法,然后返回不同的视图,(最常用的是 view::fetch() view::assign() )。

【小白专用 已验证24.5.31】ThinkPHP6 视图的安装及模板篇之传参和渲染-CSDN博客

安装和更新命令所在的目录是不同的,更新必须在你的应用根目录下面执行,更新Thinkphp6核心,必须先切换到 tp6 根目录

update topthink/framework

更新操作会删除thinkphp目录重新下载安装新版本,但不会影响app目录,因此不要在核心框架目录添加任何应用代码和类库

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

【小白专用24.5.26已验证】windows 11 安装PHP8.3 +Apache2.4_win11下如何安装win+apache+php环境-CSDN博客

【小白专用24.5.26 已验证】VSCode下载和安装与配置PHP开发环境(详细版)-CSDN博客

安装过程遇到问题

报错解释:

这个错误表明你在使用Composer(PHP的依赖管理工具)尝试安装ThinkPHP6框架时,下载topthink/think包失败了。原因是ZIP扩展没有启用。Composer在安装依赖时可以使用ZIP扩展来解压缩包,如果ZIP扩展没有启用,则无法解压缩下载的文件

解决方法:
在Windows上,你需要确保在php.ini文件中启用了相应的扩展。
找到php.ini文件,然后找到extension=zip这一行,确保前面没有分号(;)注释符号。
修改完php.ini后,重启你的Web服务器,如Apache或Nginx,以使更改生效。
再次运行Composer安装命令,如composer create-project topthink/think your_project_name,以检查问题是否已解决。

GitHub 加速计划 / compose / compose
33.28 K
5.15 K
下载
compose - Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,通过Compose文件格式简化应用部署过程。
最近提交(Master分支:3 个月前 )
5e3a0953 full diff: https://github.com/docker/cli/compare/v27.4.0-rc.1...8d1bacae3e49ed1d096eede8eef4ae851d7f2eae Signed-off-by: Sebastiaan van Stijn <github@gone.nl> 5 天前
a2a3eb72 - full diff: https://github.com/docker/cli/compare/cb3048fbebb1...v27.4.0-rc.1 Signed-off-by: Sebastiaan van Stijn <github@gone.nl> 5 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐