ThinkPHP6.0入门知识汇总:安装过程、运行测试、调试模式

2022-07-2410:38:36后端程序开发Comments2,461 views1字数 6194阅读模式

ThinkPHP6.0入门知识汇总:安装过程、运行测试、调试模式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

一.框架介绍

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

  1. TP 框架是免费开源的、轻量级的、简单快速且敏捷的 PHP 框架
  2. ThinkPHP6.0 要求 PHP 版本是 7.1+以上,官方推荐 7.3
  3. 除了 PHP7.1+,还需要开启 PDO 数据库引擎和 MBstring 字符串扩展

二.安装过程

官网不提供软件包下载,官方推荐使用composer下载和更新文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

关于composer的安装和使用不做介绍文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

由于composer默认镜像源在国外,链接速度较慢,因此安装的时间可能会比较长,我们建议使用国内镜像(阿里云),代码如下文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

1文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

如果你是第一次安装,或者你需要安装全新框架,在命令行界面,切换到你需要安装的WEB目录,执行如下命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

1文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

composer create-project topthink/think tp文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

这里的“tp”是项目的根目录名,你可以任意更改,这个就是我们后边常提到的应用根目录文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

如果你之前已经安装过,那么切换到你的应用根目录下面,然后执行下面的命令进行更新文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

1文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

composer update topthink/framework文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

三.运行测试

在cmd命令行进入项目目录运行命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

1文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

php think run文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

在浏览器输入: http://127.0.0.1:8000 或 http://localhost:8000你就会看到欢迎界面文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

如果 80 端口没有被占用的情况下,你也可以直接使用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

1文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

php think run -p 80文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

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

ThinkPHP6.0入门知识汇总:安装过程、运行测试、调试模式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

当然你现在可以把localhost配置为本地域名进行访问,这里不做赘述文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

3.这里以tp.com为例:访问index控制器的index操作文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

http://tp.com 访问默认入口文件、默认控制器和默认方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

http://tp.com/index.php 指定index.php入口文件,默认控制器的默认方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

http://tp.com/index.php/index 指定index.php入口文件,index控制器的默认方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

http://tp.com/index.php/index/index 指定index.php入口文件,index控制器的index方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

ThinkPHP6.0入门知识汇总:安装过程、运行测试、调试模式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

四.开发规范

开发规范没什么好讲直接参考手册官方文档文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

ThinkPHP6.0入门知识汇总:安装过程、运行测试、调试模式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

五.目录结构

目录结构也没必要讲直接参考手册官方文档文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

ThinkPHP6.0入门知识汇总:安装过程、运行测试、调试模式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

ThinkPHP6.0入门知识汇总:安装过程、运行测试、调试模式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

ThinkPHP6.0入门知识汇总:安装过程、运行测试、调试模式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

六.开启调试模式

在项目的开发阶段,我们建议开启框架的调试模式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

当调试模式开启后,会牺牲一部分执行效率,但能大大提高我们的 开发排错能力文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

当部署生产环境时,我们再关闭调试模式即可文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

默认安装的tp6.0框架默认不开启调试模式,这时我们可以在浏览器输入不存在的控制器或错误的地址进行验证文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

ThinkPHP6.0入门知识汇总:安装过程、运行测试、调试模式表示调试未开启文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

通过命令行安装的 TP6.0,会自动在根目录生成一个.example.env 文件,即环境变量示例文件,我们只要把这个文件更名为.env (通常复制一份更名即可), 即可生效,同时开启调试模式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

1文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

2文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

3文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

4文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

5文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

6文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

7文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

8文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

9文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

10文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

11文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

12文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

13文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

14文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

15文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

16文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

17文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

18文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

19文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

//环境变量示例文件文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

APP_DEBUG = true文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

[APP]文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

DEFAULT_TIMEZONE = Asia/Shanghai文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

[DATABASE]文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

TYPE = mysql文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

HOSTNAME = 127.0.0.1文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

DATABASE = test文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

USERNAME = username文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

PASSWORD = password文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

HOSTPORT = 3306文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

CHARSET = utf8文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

DEBUG = true文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

[LANG]文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

default_lang = zh-cn文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

不难看出文件APP_DEBUG = true打开调试模式,若要关闭调试模式将true改为false,另外还有应用配置,数据库和语言设置,当然你也可以配置更多内容。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

现在我们在刷新刚才的页面,会提示控制器不存在,并且右下角会出现 Trace 调试小图标,说明调试开启了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

开启调试模式有什么用:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

a. 记录系统运行流程的执行过程文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

b. 展示错误和调试信息,并开启日志记录文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

c. 模版修改可以及时生效 ( 不会被缓存干扰 )文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

d. 启动右下角的 Trace 调试功能,更加强大文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

e. 发生异常时,也会显示异常信息文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

还有一种模式,就是关闭调试的时候,也可以显示简要的错误信息,打开根目录下 config 的 app.php 最后一行设置为true文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

1文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

'show_error_msg'   => false,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

ThinkPHP6.0入门知识汇总:安装过程、运行测试、调试模式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

七.配置信息

配置文件有两种形式:一种是采用.env适用于本地开发,另一种就是在根目录下的config目录下,包含整个项目的配置,适用于生产环境。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

注意:官方明确表示.env文件部署后会被忽略,所以它仅适用于本地开发。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

配置优先级,如果在本地测试时 .env 优先于 config,从 config 配置中可以看出,它是先读取 .env 的,然后再默认配置一个自己的,而部署环境则忽略.env,只读取config。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

开开发项目过程中,我们少不了获取配置文件中的属性值,那么我们怎么能获取到这些值呢?接下来我们以获取数据库的用户名为例。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

对于.env文件。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

1文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

2文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

3文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

4文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

5文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

6文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

7文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

8文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

9文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

10文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

11文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

12文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

13文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

14文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

15文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

16文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

17文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

APP_DEBUG = true文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

[APP]文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

DEFAULT_TIMEZONE = Asia/Shanghai文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

[DATABASE]文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

TYPE = mysql文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

HOSTNAME = 127.0.0.1文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

DATABASE = test文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

USERNAME = root文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

PASSWORD = 123456文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

HOSTPORT = 3306文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

CHARSET = utf8文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

DEBUG = true文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

[LANG]文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

default_lang = zh-cn文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

比如要获取[DATABASE]下的USERNAME=root获取方式如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

1文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

use think\facade\Env;                                                            return Env::get('database.username');                                              我们写一个getEnv发方法获取databases下的username,这个比较简单,直接获取.env文件下的,database下的username文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

1文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

2文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

3文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

4文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

5文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

6文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

7文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

8文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

9文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

10文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

11文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

12文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

13文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

<?php文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

namespace app\controller;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

use app\BaseController;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

use think\facade\Env;//引入env类文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

class Index extends BaseController文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

{文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    public function getEnv(){文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

        return Env::get('database.username');文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    }文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

}文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

对于config文件文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

1文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

2文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

3文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

4文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

5文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

6文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

7文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

8文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

9文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

10文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

11文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

12文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

13文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

14文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

15文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

16文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

17文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

18文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

19文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

20文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

21文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

22文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

23文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

24文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

25文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

26文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

27文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

28文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

29文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

30文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

31文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

32文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

33文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

34文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

35文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

36文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

37文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

38文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

39文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

40文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

41文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

42文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

43文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

44文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

45文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

46文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

47文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

48文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

49文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

50文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

51文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

52文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

53文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

54文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

55文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

56文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

57文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

58文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

59文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

60文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

61文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

62文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

63文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

<?php文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

return [文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    // 默认使用的数据库连接配置文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    'default'         => env('database.driver', 'mysql'),文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    // 自定义时间查询规则文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    'time_query_rule' => [],文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    // 自动写入时间戳字段文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    // true为自动识别类型 false关闭文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    // 字符串则明确指定时间字段类型 支持 int timestamp datetime date文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    'auto_timestamp'  => true,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    // 时间字段取出后的默认时间格式文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    'datetime_format' => 'Y-m-d H:i:s',文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    // 时间字段配置 配置格式:create_time,update_time文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    'datetime_field'  => '',文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    // 数据库连接配置信息文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    'connections'     => [文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

        'mysql' => [文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 数据库类型文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'type'            => env('database.type', 'mysql'),文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 服务器地址文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'hostname'        => env('database.hostname', '127.0.0.1'),文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 数据库名文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'database'        => env('database.database', ''),文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 用户名文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'username'        => env('database.username', 'root123'),文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 密码文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'password'        => env('database.password', ''),文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 端口文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'hostport'        => env('database.hostport', '3306'),文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 数据库连接参数文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'params'          => [],文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 数据库编码默认采用utf8文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'charset'         => env('database.charset', 'utf8'),文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 数据库表前缀文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'prefix'          => env('database.prefix', ''),文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'deploy'          => 0,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 数据库读写是否分离 主从式有效文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'rw_separate'     => false,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 读写分离后 主服务器数量文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'master_num'      => 1,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 指定从服务器序号文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'slave_no'        => '',文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 是否严格检查字段是否存在文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'fields_strict'   => true,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 是否需要断线重连文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'break_reconnect' => false,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 监听SQL文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'trigger_sql'     => env('app_debug', true),文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            // 开启字段缓存文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

            'fields_cache'    => false,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

        ],文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

        // 更多的数据库配置信息文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    ],文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

];文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

比如要获取[DATABASE]下的USERNAME=root获取方式如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

use think\facade\Config;
return Config::get('database.connections.mysql.username');文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

我们写一个getConfig发方法获取databases下的username,这个就要麻烦一点,这里获取的顺序依次是:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

所在配置文件——>数据库连接配置信息——>mysql数据库——>用户名文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

需要注意的是:由于config配置文件的优先级低于.env,所以,如果当前是处于开发环境,如下代码并不会获取到config目录下database配置文件的用户名,而是获取.env文件的用户名,所以想要获取正确配置则先关闭开发环境文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

1文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

2文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

3文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

4文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

5文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

6文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

7文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

8文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

9文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

10文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

11文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

12文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

13文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

14文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

15文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

16文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

17文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

18文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

19文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

20文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

21文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

22文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

23文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

24文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

25文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

26文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

<?php文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

namespace app\controller;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

use app\BaseController;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

use think\facade\Env;//引入env类文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

class Index extends BaseController文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

{文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    public function hello($name = 'ThinkPHP6')文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    {文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

        return 'hello,' . $name;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    }文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    public function getEnv(){文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

        return Env::get('database.username');文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    }文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    public function getConfig(){文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

        return Config::get('database.connections.mysql.username');文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    }文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

}文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

对于上边获取config配置有限读取.env文件的问题,我们可以在获取信息之前先使用has方法判断当前需要获取值是否存在两个文件再决定读取哪一个文件文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

1文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

2文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

3文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

4文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

5文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

6文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

7文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

8文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

9文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

10文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

11文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

12文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

13文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

14文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

15文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

16文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

17文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

18文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

19文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

20文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

21文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

22文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

23文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

24文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

25文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

26文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

27文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

28文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

29文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

<?php文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

namespace app\controller;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

use think\facade\Config;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

use app\BaseController;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

use think\facade\Env;//引入env类文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

class Index extends BaseController文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

{文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

   文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    public function getEnv(){文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

        return Env::get('database.username');文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    }文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    public function getConfig(){文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

        return Config::get('database.connections.mysql.username');文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    }文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    public function getSite(){文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

        echo Env::has('database.username');文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

        echo Config::has('database.connections.mysql.username');文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

    }文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

}文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

我们得到的值为字符串用echo输出文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/25909.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/25909.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定