配置(Configuration)

优质
小牛编辑
124浏览
2023-12-01

在设置站点之后,我们应该做的下一件事是配置站点。 application/config文件夹包含一组用于设置站点基本配置的文件。

配置基本URL

可以在application/config/config.php文件中配置站点的基本URL。 它是CodeIgniter根的URL。 通常,这将是您的基本URL,带有斜杠,例如

http://example.com/

如果未设置,则CodeIgniter将尝试猜测安装的协议,域和路径。 但是,您应该始终明确地配置它,而不是依赖于自动化,尤其是在生产环境中。 您可以使用键“base_url”在$ config数组中配置基本URL,如下所示 -

$config['base_url'] = 'http://your-domain.com';

数据库配置

可以在application/config/database.php文件中配置站点的数据库。 通常我们需要为开发和生产等不同环境设置数据库。 使用CodeIgniter中提供的多维数组,我们可以为不同的环境设置数据库。 配置设置存储在数组中,如下所示 -

$db['default'] = array( 
   'dsn'   => '', 
   'hostname' => 'localhost', 
   'username' => 'root', 
   'password' => '', 
   'database' => 'database_name', 
   'dbdriver' => 'mysqli', 
   'dbprefix' => '', 
   'pconnect' => TRUE, 
   'db_debug' => TRUE, 
   'cache_on' => FALSE, 
   'cachedir' => '', 
   'char_set' => 'utf8', 
   'dbcollat' => 'utf8_general_ci',
   'swap_pre' => '', 
   'encrypt' => FALSE, 
   'compress' => FALSE, 
   'stricton' => FALSE, 
   'failover' => array() 
);

除主机名,用户名,密码,数据库和dbdriver外,您可以为其默认值保留少量选项。

  • hostname - 指定数据库的位置,例如localhost或IP地址

  • username - 在此处设置数据库的用户名。

  • password - 在此处设置数据库的密码。

  • database - 在此处设置database名称。

  • dbdriver - 设置您正在使用的数据库类型,例如MySQL,MySQLi,Postgre SQL,ODBC和MS SQL。

通过更改数组$db的键,您可以设置数据库的其他配置,如下所示。 在这里,我们设置了'test'的关键,通过保持其他数据库环境不变来为测试环境设置数据库。

$db['test'] = array( 
   'dsn'   => '', 
   'hostname' => 'localhost', 
   'username' => 'root', 
   'password' => '', 
   'database' => 'database_name', 
   'dbdriver' => 'mysqli', 
   'dbprefix' => '', 
   'pconnect' => TRUE, 
   'db_debug' => TRUE, 
   'cache_on' => FALSE, 
   'cachedir' => '', 
   'char_set' => 'utf8', 
   'dbcollat' => 'utf8_general_ci', 
   'swap_pre' => '', 
   'encrypt' => FALSE, 
   'compress' => FALSE, 
   'stricton' => FALSE, 
   'failover' => array()
);

您可以通过更改变量的值来简单地切换到不同的环境,如下所示 -

$active_group = 'default'; //This will set the default environment

$active_group = 'test'; //This will set the test environment

自动加载配置

默认情况下,此文件指定应加载哪些系统。 为了使框架尽可能轻量级,默认情况下仅加载绝对最小资源。 人们应该重复加载常用的系统,而不是在本地级别加载。 以下是您可以自动加载的内容 -

  • Libraries - 它是一个库列表,应该自动加载。 提供数组中的库列表,如下所示,由CodeIgniter自动加载。 在此示例中,我们将自动加载数据库,电子邮件和会话库。

$autoload['libraries'] = array('database', 'email', 'session');
  • Drivers - 这些类位于system/libraries /或您的application/libraries /目录中,但也放在它们自己的子目录中,它们扩展了CI_Driver_Library类。 它们提供多种可互换的驱动器选项。 以下是自动加载缓存驱动程序的示例。

$autoload['drivers'] = array('cache');
  • Helper files - 它是一个自动加载的帮助程序文件列表。 提供数组中的库列表,如下所示,由CodeIgniter自动加载。 在给定的示例中,我们是自动加载URL和文件助手。

$autoload['helper'] = array('url', 'file');
  • Custom config files - 仅当您已创建自定义配置文件时,才会使用这些文件。 否则,请留空。 以下是如何自动加载多个配置文件的示例。

$autoload['config'] = array('config1', 'config2');
  • Language files - 它是一个语言文件列表,应该自动加载。 看下面给出的例子。 提供数组中的语言列表,如下所示,由CodeIgniter自动加载。 请注意,不要包含文件的“_lang”部分。 例如,“codeigniter_lang.php”将被引用为数组('codeigniter');

  • Models - 它是模型文件列表,应该自动加载。 提供阵列中的模型列表,如下所示,由CodeIgniter自动加载。 以下是如何自动加载多个模型文件的示例。

$autoload['model'] = array('first_model', 'second_model');