ThinkPHP6.0入门知识点汇总

本篇文章给大家带来了关于thinkphp的相关知识,其中主要整理了thinkphp6.0入门的相关问题,thinkphp是一个免费开源的,快速、简单的面向对象的轻量级php开发框架,是为了敏捷web应用开发和简化企业应用开发而诞生的,下面一起来看一下,希望对大家有帮助。

ThinkPHP6.0入门知识点汇总

推荐学习:《PHP视频教程》

一.框架介绍

ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,更注重易用性。遵循Apache2开源许可协议发布,意味着你可以免费使用ThinkPHP,甚至允许把你基于ThinkPHP开发的应用开源或商业产品发布/销售。

TP 框架是免费开源的、轻量级的、简单快速且敏捷的 PHP 框架  

ThinkPHP6.0 要求 PHP 版本是 7.1+以上,官方推荐 7.3  

除了 PHP7.1+,还需要开启 PDO 数据库引擎和 MBstring 字符串扩展  

二.安装过程

官网不提供软件包下载,官方推荐使用composer下载和更新

立即学习“PHP免费学习笔记(深入)”;

关于composer的安装和使用不做介绍

由于composer默认镜像源在国外,链接速度较慢,因此安装的时间可能会比较长,我们建议使用国内镜像(阿里云),代码如下    

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

如果你是第一次安装,或者你需要安装全新框架,在命令行界面,切换到你需要安装的WEB目录,执行如下命令    

composer create-project topthink/think tp

这里的“tp”是项目的根目录名,你可以任意更改,这个就是我们后边常提到的应用根目录

如果你之前已经安装过,那么切换到你的应用根目录下面,然后执行下面的命令进行更新

composer update topthink/framework

三.运行测试

在cmd命令行进入项目目录运行命令

php think run

在浏览器输入:   http://127.0.0.1:8000   或   http://localhost:8000你就会看到欢迎界面  

如果   80   端口没有被占用的情况下,你也可以直接使用    

php think run -p 80

然后你就可以直接使用http://localhost/ 直接访问了,这时浏览器默认访问文件是:应用根目录/app/controller/index.php控制器的index方法,而http://localhost/的实际路径是http://localhost/index.php/index/index,(具体原因这里不做详细解释,后边在进行探讨)

ThinkPHP6.0入门知识点汇总

当然你现在可以把localhost配置为本地域名进行访问,这里不做赘述

3.这里以tp.com为例:访问index控制器的index操作

http://tp.com                                     访问默认入口文件、默认控制器和默认方法

http://tp.com/index.php                     指定index.php入口文件,默认控制器的默认方法

http://tp.com/index.php/index           指定index.php入口文件,index控制器的默认方法

http://tp.com/index.php/index/index 指定index.php入口文件,index控制器的index方法

ThinkPHP6.0入门知识点汇总

四.开发规范

        开发规范没什么好讲直接参考手册官方文档

ThinkPHP6.0入门知识点汇总

五.目录结构

        目录结构也没必要讲直接参考手册官方文档

ThinkPHP6.0入门知识点汇总

ThinkPHP6.0入门知识点汇总

 ThinkPHP6.0入门知识点汇总

六.开启调试模式

在项目的开发阶段,我们建议开启框架的调试模式

怪兽AI知识库 怪兽AI知识库

企业知识库大模型 + 智能的AI问答机器人

怪兽AI知识库 51 查看详情 怪兽AI知识库

当调试模式开启后,会牺牲一部分执行效率,但能大大提高我们的 开发排错能力

当部署生产环境时,我们再关闭调试模式即可

默认安装的tp6.0框架默认不开启调试模式,这时我们可以在浏览器输入不存在的控制器或错误的地址进行验证

ThinkPHP6.0入门知识点汇总表示调试未开启

通过命令行安装的 TP6.0,会自动在根目录生成一个.example.env 文件,即环境变量示例文件,我们只要把这个文件更名为.env   (通常复制一份更名即可),   即可生效,同时开启调试模式  

//环境变量示例文件APP_DEBUG = true[APP]DEFAULT_TIMEZONE = Asia/Shanghai[DATABASE]TYPE = mysqlHOSTNAME = 127.0.0.1DATABASE = testUSERNAME = usernamePASSWORD = passwordHOSTPORT = 3306CHARSET = utf8DEBUG = true[LANG]default_lang = zh-cn

不难看出文件APP_DEBUG = true打开调试模式,若要关闭调试模式将true改为false,另外还有应用配置,数据库和语言设置,当然你也可以配置更多内容

现在我们在刷新刚才的页面,会提示控制器不存在,并且右下角会出现 Trace 调试小图标,说明调试开启了ThinkPHP6.0入门知识点汇总

开启调试模式有什么用:

a. 记录系统运行流程的执行过程  

b.   展示错误和调试信息,并开启日志记录  

c.   模版修改可以及时生效   (   不会被缓存干扰   )  

d.   启动右下角的   Trace   调试功能,更加强大  

e.   发生异常时,也会显示异常信息  

还有一种模式,就是关闭调试的时候,也可以显示简要的错误信息,打开根目录下 config 的 app.php 最后一行设置为true

'show_error_msg'   => false,

 ThinkPHP6.0入门知识点汇总

七.配置信息

配置文件有两种形式:一种是采用.env适用于本地开发,另一种就是在根目录下的config目录下,包含整个项目的配置,适用于生产环境

注意:官方明确表示.env文件部署后会被忽略,所以它仅适用于本地开发

配置优先级,如果在本地测试时   .env   优先于 config,从   config   配置中可以看出,它是先读取   .env   的,然后再默认配置一个自己的,而部署环境则忽略.env,只读取config  

开开发项目过程中,我们少不了获取配置文件中的属性值,那么我们怎么能获取到这些值呢?接下来我们以获取数据库的用户名为例

对于.env文件。

APP_DEBUG = true[APP]DEFAULT_TIMEZONE = Asia/Shanghai[DATABASE]TYPE = mysqlHOSTNAME = 127.0.0.1DATABASE = testUSERNAME = rootPASSWORD = 123456HOSTPORT = 3306CHARSET = utf8DEBUG = true[LANG]default_lang = zh-cn

比如要获取[DATABASE]下的USERNAME=root获取方式如下:                                                    

use thinkfacadeEnv;                                                            return Env::get('database.username');                                              我们写一个getEnv发方法获取databases下的username,这个比较简单,直接获取.env文件下的,database下的username
<?phpnamespace appcontroller;use appBaseController;use thinkfacadeEnv;//引入env类class Index extends BaseController{    public function getEnv(){        return Env::get('database.username');    }}

对于config文件  

 env('database.driver', 'mysql'),    // 自定义时间查询规则    'time_query_rule' => [],    // 自动写入时间戳字段    // true为自动识别类型 false关闭    // 字符串则明确指定时间字段类型 支持 int timestamp datetime date    'auto_timestamp'  => true,    // 时间字段取出后的默认时间格式    'datetime_format' => 'Y-m-d H:i:s',    // 时间字段配置 配置格式:create_time,update_time    'datetime_field'  => '',    // 数据库连接配置信息    'connections'     => [        'mysql' => [            // 数据库类型            'type'            => env('database.type', 'mysql'),            // 服务器地址            'hostname'        => env('database.hostname', '127.0.0.1'),            // 数据库名            'database'        => env('database.database', ''),            // 用户名            'username'        => env('database.username', 'root123'),            // 密码            'password'        => env('database.password', ''),            // 端口            'hostport'        => env('database.hostport', '3306'),            // 数据库连接参数            'params'          => [],            // 数据库编码默认采用utf8            'charset'         => env('database.charset', 'utf8'),            // 数据库表前缀            'prefix'          => env('database.prefix', ''),            // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)            'deploy'          => 0,            // 数据库读写是否分离 主从式有效            'rw_separate'     => false,            // 读写分离后 主服务器数量            'master_num'      => 1,            // 指定从服务器序号            'slave_no'        => '',            // 是否严格检查字段是否存在            'fields_strict'   => true,            // 是否需要断线重连            'break_reconnect' => false,            // 监听SQL            'trigger_sql'     => env('app_debug', true),            // 开启字段缓存            'fields_cache'    => false,        ],        // 更多的数据库配置信息    ],];

比如要获取[DATABASE]下的USERNAME=root获取方式如下:

use thinkfacadeConfig;
return Config::get(‘database.connections.mysql.username’);

我们写一个getConfig发方法获取databases下的username,这个就要麻烦一点,这里获取的顺序依次是:

所在配置文件——>数据库连接配置信息——>mysql数据库——>用户名

需要注意的是:由于config配置文件的优先级低于.env,所以,如果当前是处于开发环境,如下代码并不会获取到config目录下database配置文件的用户名,而是获取.env文件的用户名,所以想要获取正确配置则先关闭开发环境

<?phpnamespace appcontroller;use appBaseController;use thinkfacadeEnv;//引入env类class Index extends BaseController{    public function hello($name = 'ThinkPHP6')    {        return 'hello,' . $name;    }    public function getEnv(){        return Env::get('database.username');    }    public function getConfig(){        return Config::get('database.connections.mysql.username');    }}

对于上边获取config配置有限读取.env文件的问题,我们可以在获取信息之前先使用has方法判断当前需要获取值是否存在两个文件再决定读取哪一个文件

<?phpnamespace appcontroller;use thinkfacadeConfig;use appBaseController;use thinkfacadeEnv;//引入env类class Index extends BaseController{       public function getEnv(){        return Env::get('database.username');    }    public function getConfig(){        return Config::get('database.connections.mysql.username');    }    public function getSite(){        echo Env::has('database.username');        echo Config::has('database.connections.mysql.username');    }}

我们得到的值为字符串用echo输出

推荐学习:《PHP视频教程》

以上就是ThinkPHP6.0入门知识点汇总的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/624435.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
java怎么往数组里加文字
上一篇 2025年11月11日 08:11:17
app怎么制作?个人app开发和制作流程
下一篇 2025年11月11日 08:11:19

相关推荐

  • ThinkPHP中d()和m()的区别是什么

    ThinkPHP中d()和m()的区别是什么ThinkPHP中d()和m()的区别是什么ThinkPHP中d()和m()的区别是什么ThinkPHP中d()和m()的区别是什么

    区别:M方法用于高效实例化一个基础模型类;而D方法用于实例化一个用户定义模型类。M方法不需要创建模型类文件,M方法不会读取模型类;而D方法必须要创建模型类。 本教程操作环境:windows7系统、thinkphp6版、Dell G3电脑。 M方法和D方法的区别 ThinkPHP 中M方法和D方法都用…

    2026年10月2日 • 用户投稿
    000
  • 来聊聊基于ThinkPHP开发的好处

    来聊聊基于ThinkPHP开发的好处来聊聊基于ThinkPHP开发的好处来聊聊基于ThinkPHP开发的好处来聊聊基于ThinkPHP开发的好处

    下面由thinkphp框架教程栏目给大家介绍基于thinkphp开发的好处,希望对需要的朋友有所帮助! 很多程序员都喜欢比框架,又是性能,又是逼格。说实在,对于小企业,TP 肯定比较实用,全中文的文档,还好招人。有人会扯性能什么的,全中国有几个大厂?大部分都是并发需求不超过 20 的小微企业,很多都…

    2026年10月2日 • 用户投稿
    000
  • 分享推荐一款好用的TP富文本编辑器-CKEditor

    分享推荐一款好用的TP富文本编辑器-CKEditor分享推荐一款好用的TP富文本编辑器-CKEditor分享推荐一款好用的TP富文本编辑器-CKEditor分享推荐一款好用的TP富文本编辑器-CKEditor

    本篇文章给大家推荐一款炒鸡好用的thinkphp富文本编辑器–ckeditor,下面给大家介绍一下使用ckeditor的方法,希望对大家有所帮助! 最近一直在做Thinkphp后端开发,之前都是使用layui的富文本编辑器,layui的优点是简单易用,但缺点也比较明显,就是编辑器功能比较…

    2026年10月2日 • 用户投稿
    100
  • 简单聊聊Thinkphp中的URL路径

    下面thinkphp框架教程栏目将给大家简析thinkphp中的url路径,希望对需要的朋友有所帮助! Thinkphp关于URL路径 假如你项目首页的URL是:www.test.com/other/Form 假如当前模块是:Index 假如当前操作是:index 立即学习“PHP免费学习笔记(深入…

    2026年10月2日
    100
  • thinkphp中m方法与d方法的区别是什么

    thinkphp中m方法与d方法的区别是什么thinkphp中m方法与d方法的区别是什么thinkphp中m方法与d方法的区别是什么thinkphp中m方法与d方法的区别是什么

    thinkphp中m方法与d方法的区别:1、m方法不需要创建模型类文件,而d方法必须有创建模型类;2、d方法会实例化具体的模型类,m方法实例化不需要加载具体的模型类。 本文操作环境:Windows10系统、thinkphp v5.1版、Dell G3电脑。 thinkphp中m方法与d方法的区别是什…

    2026年10月1日 • 用户投稿
    100
  • thinkphp框架有什么优缺点

    thinkphp框架有什么优缺点thinkphp框架有什么优缺点thinkphp框架有什么优缺点thinkphp框架有什么优缺点

    thinkphp框架的优点:1、易于上手,有丰富的中文文档;2、学习成本低,社区活跃度高;3、框架的兼容性较强;4、适合用于中小项目的开发。缺点:1、对Ajax的支持不是很好;2、目录结构混乱,需要花时间整理;3、上手容易,但深入学习较难。 本教程操作环境:Windows7系统、thinkphp v…

    2026年10月1日 • 用户投稿
    100
  • thinkphp的开发工具有哪些

    thinkphp的开发工具有哪些thinkphp的开发工具有哪些thinkphp的开发工具有哪些thinkphp的开发工具有哪些

    thinkphp的开发工具有:1、PHPStorm,一款功能强劲的PHP IDE;2、Eclipse,跨平台开源集成开发环境;3、Zend Studio;4、Sublime Text 3;5、PHP Designer;6、VSCode等等。 本教程操作环境:Windows7系统、thinkphp v…

    2026年10月1日 • 用户投稿
    200
  • thinkphp路由是什么

    thinkphp路由是什么thinkphp路由是什么thinkphp路由是什么thinkphp路由是什么

    在thinkphp中,路由是指根据url, 分配到对应的处理程序的映射;其作用是简化URL访问地址,并根据定义的路由类型做出正确的解析。简单来说,路由就是一个路径的解析,根据客户端提交的路径,将请求解析到相应的模块或控制器或方法上。 本教程操作环境:Windows7系统、thinkphp v5.1版…

    2026年10月1日 • 用户投稿
    000
  • 在ThinkPHP6中实现单元测试的最佳实践

    在thinkphp6中实现单元测试的最佳实践 随着现代软件开发中的快速迭代和高效交付的要求,单元测试已经成为一种不可或缺的自动化测试方法。在PHP语言中,单元测试框架的流行使得开发者不必再手动测试每个函数和方法,而是可以编写测试用例自动化地检查代码的正确性。在ThinkPHP6中,PHPUnit单元…

    用户投稿 2026年10月1日
    000
  • ci框架和thinkphp有什么区别

    ci框架和thinkphp有什么区别ci框架和thinkphp有什么区别ci框架和thinkphp有什么区别ci框架和thinkphp有什么区别

    区别:1、CI没有强制绑定模板对数据库的操作,而ThinkPHP有;2、ThinkPHP讲究使用的便利性,提供了很多函数助手,而CI的使用比较麻烦冗长;3、CI的视图文件不可配置,而TP的视图文件可配置。4、TP提供多种调试方法,CI没有。 本教程操作环境:Windows7系统、thinkphp v…

    2026年10月1日 • 用户投稿
    000
  • 聊聊TP在app接口开发过程中的安全验证问题

    下面thinkphp框架教程栏目将给大家介绍关于thinkphp在app接口开发过程中的通讯安全认证问题,希望对需要的朋友有所帮助! 对于我们写好的接口,如果不经过安全认证就可以直接访问的话,则将对我们网站产生非常大的安全隐患,一些hack可能直接用你的接口去操作数据库,后果无法估量。 那么如何才能…

    2026年10月1日
    200
  • 利用ThinkPHP6实现Cookie控制

    随着web应用的不断普及,cookie的使用也变得越来越重要。cookie是一种在客户端存储数据的技术,可以保存一些信息,如用户的登录状态、购物车信息等。 在本文中,我们将介绍如何使用 ThinkPHP6 实现 Cookie 控制,以实现用户登录状态的管理。 一、什么是Cookie? HTTP协议是…

    用户投稿 2026年10月1日
    100
  • TP框架V6.0.10LTS已发布(兼容PHP8.1)

    thinkphp v6.0.10版本主要添加了php8.1的兼容支持,以及thinkorm的一些改进,并宣布成为thinkphp历史上第二个lts版本,借此辞旧迎新之际,祝大家新年快乐! 6.0LTS版本核心不再做功能更新,仅作优化及BUG修复,BUG修复时间和安全更新均延长至2024年10月24日…

    2026年10月1日
    000
  • 聊聊有关thinkphp中的Image操作

    下面thinkphp框架教程栏目将给大家介绍关于thinkphp3.2.3中的image操作,希望对需要的朋友有所帮助! 独立thinkphp3.2.3中Image操作 参考thinkphp3.2.3中Image操作https://www.kancloud.cn/manual/thinkphp/18…

    2026年10月1日
    000
  • Thinkphp如何快速实现404跳转页

    下面thinkphp框架教程栏目将给大家介绍关于thinkphp制作404跳转页的方法,希望对需要的朋友有所帮助! Thinkphp制作404跳转页 网上有很多thinkphp的404页面制作方法,但大多太过繁琐不简便,很烦人,所以为大家分享了最便捷的404制作方法,如下。 在thinkphp的公共…

    2026年10月1日
    100
  • thinkphp用什么编辑器

    thinkphp用什么编辑器thinkphp用什么编辑器thinkphp用什么编辑器thinkphp用什么编辑器

    thinkphp可用的编辑器有:1、PHPStorm;2、Visual Studio Code;3、Eclipse;4、Zend Studio;5、Sublime Text;6、PHP Designer;7、NetBeans等。 本教程操作环境:Windows7系统、thinkphp v5.1版、D…

    2026年10月1日 • 用户投稿
    200
  • thinkphp中什么是orm

    thinkphp中什么是ormthinkphp中什么是ormthinkphp中什么是ormthinkphp中什么是orm

    在thinkphp中,ORM指的是“对象关系映射”,是为方便开发者使用数据库开发的一个存储访问层;ORM的主要用途是把对象模型表示的对象映射到基于sql的关系模型数据库结构中去。 本教程操作环境:Windows7系统、thinkphp v5.1版、Dell G3电脑。 thinkphp中的orm O…

    2026年10月1日 • 用户投稿
    200
  • 图文详解thinkphp如何配置环境运行

    图文详解thinkphp如何配置环境运行图文详解thinkphp如何配置环境运行图文详解thinkphp如何配置环境运行图文详解thinkphp如何配置环境运行

    本篇文章给大家带来了关于thinkphp的相关知识,其中主要介绍了关于如何搭建配置环境运行的相关问题,包括了php开发环境的安装,以及thinkphp的下载和运行,下面一起来看一下,希望对大家有帮助。 推荐学习:《PHP视频教程》 php在现有的市场占有率还是很高的,很多中小型企业都是使用php进行…

    2026年9月30日 • 用户投稿
    000
  • 一起聊聊thinkphp6使用think-queue实现普通队列和延迟队列

    一起聊聊thinkphp6使用think-queue实现普通队列和延迟队列一起聊聊thinkphp6使用think-queue实现普通队列和延迟队列一起聊聊thinkphp6使用think-queue实现普通队列和延迟队列一起聊聊thinkphp6使用think-queue实现普通队列和延迟队列

    本篇文章给大家带来了关于thinkphp的相关知识,其中主要介绍了关于使用think-queue来实现普通队列和延迟队列的相关内容,think-queue是thinkphp官方提供的一个消息队列服务,下面一起来看一下,希望对大家有帮助。 推荐学习:《PHP视频教程》 ###TP6 队列 TP6 中使…

    2026年9月30日 • 用户投稿
    000
  • 在ThinkPHP6中使用Composer管理自定义组件

    在现代化的php开发中,使用composer是一个很好的习惯。composer是一个php依赖管理器,可以自动安装、更新和卸载php库。随着php生态圈的发展,越来越多的包、库和组件可以通过composer来管理,大大提高了开发效率。在thinkphp6中,使用composer管理自定义组件也是一个…

    用户投稿 2026年9月30日
    100

发表回复

登录后才能评论
关注微信