1.thinkphp有哪些配置类型?1、在thinkphp中,有6种配置。即常规配置、应用配置、扩展配置、模块配置、场景配置、动态配置。2、常规配置为系统默认配置。3、应用配置是我们自己开发创建的应用的个性化配置。4.扩展配置主要是实现我们项目开发过程中一些扩展程序使用的配置。5.模块配置是一个应用程序中各个模块的配置。6.场景配置主要是实现我们在不同开发环境下设置的配置。如果我们在家里工作,计算机环境可能会有所不同;如果我们在公司工作,公司的计算机环境可能会有所不同。7.动态配置动态配置在我们的模块中开发和实现。比如我们在某个controller中定义数据库的配置。2、thinkphp配置的实现原理是什么?1、thinkphp实现了这样的不同类型的配置,很大程度上方便了我们的模块化配置,增强了配置的灵活性。2.thinkphp的配置加载顺序主要是以下顺序。动态配置》》模块配置》》扩展配置》》应用配置》》常规配置3.Thinkphp实现配置主要使用PHP的array_merage()函数(如果两个或多个数组元素有相同的键名,则***元素覆盖其他元素。)。当我们的系统加载我们的配置文件时,会覆盖之前的配置文件,所以上面第二步的执行顺序就实现了。3、为什么要实现这样的配置?1、通过不同类型的配置,方便我们对项目进行配置管理。如果你加入我们,你将使用框架自带的配置。我们在开发某个模块的时候,需要把数据存储到另外一台服务器的数据库中。有没有可能我们的项目无法实现?这样的例子还有很多,这里只是举个简单的例子。4.配置文件要求在所有配置文件中使用数组。当我们的系统加载配置文件时,它会返回一个数组。这个数组就是我们的配置项。我们可以使用config()辅助函数或config类来访问系统中的配置项。5.如何实现这些类型的配置?1、常规配置。常规配置直接在框架核心目录下的convention.php中,这里不再赘述。2.应用配置。当我们创建一个项目时,框架会默认在application目录的西边创建config.php、database.php等配置文件。我们可以直接在相应的文件中进行操作。下面单独说明,主要是创建一个目录来configure,效果是一样的,无非就是改变文件路径。A。定义配置文件路径,找到工程入口文件,在应用同级目录下创建config目录(后面的配置讲解均在该目录下操作,下面不再单独说明)。define('CONF_PATH',__DIR__.'/../config/');接下来直接在该目录下创建配置文件即可。创建文件的名称不一定限于config、database。文件中的配置项与convention.php配置文件相同。当我们运行项目时,会自动加载该目录下的配置项。3.扩展配置。扩展配置主要是为了我们在开发中使用的一些数据的扩展使用。比如我们使用邮箱,就涉及到邮箱的账号。可以在这个目录下配置。我们在config目录下多创建一个目录,并在该目录下创建相应的文件。比如我下面创建了email.php文件,定义了如下内容:"1005349393@qq.com"];在我们的系统中加载这个配置项。var_dump(config("email.user_emial"));//在系统默认的情况下,会在我们的环境变量中添加一个PHP前缀,并将配置项转换为大写。这里我们使用我们的辅助函数来直接访问配置项。4.模块配置。这是一个简短的解释。主要是在我们的模块目录下创建相应的config.php、database.php等文件。5.场景配置。***这就是本文的大招。场景配置主要是为了适应我们不同的开发环境。比如我们在公司的环境配置和家里的环境配置不一致。这个时候我们可能需要修改很多地方,同时回到公司也要修改。是不是很麻烦。首先我们在config目录下的配置文件中加载一个配置项。'app_status'=>'office',//这里配置项的值就是我们对应的配置环境。接下来在我们的config目录下新建一个office.php(这里的文件名一定要和上面配置项的值完全一致)***,我们直接在我们的office.php配置文件中配置即可。其实thinkphp还有一个不错的功能就是.env。之前一直知道laravel有,但是没有主thinkphp5,最近才发现。使用这个功能对于开发中的配置来说会方便很多。伟大的。首先,我们在我们的项目目录下创建一个.env文件,在里面配置我们的配置项。如果我们要使用下面的status=office,可以直接使用框架自带的env类。关于env的更多方法,请直接参考开发手册。'app_status'=>Env::get("status");我们将上一步场景配置项中的值设置为.env文件中的配置项。务必引入ENV类。通过我们的.env文件,我们只需要配置一些配置文件,或者把一些常用的配置文件放在.env文件中,我们只需要修改这一个文件即可。6.动态配置。顾名思义,动态配置就是根据我们项目开发的需要进行配置,而不是直接使用我们配置文件中的配置。下面列出了一个简单的例子。
