配置

基本配置

DoitPHP项目所用的所有的配置文件都存放在配置目录(config)下。application.php为项目的主配置文件,常用的配置选项由此文件来控制。如:数据库连接参数。打开此文件,发现大片的代码全都注释掉了,没有设置什么,当配置选项没有设置时,DoitPHP将使用框架默认的选项。仔细阅读这些代码,你就会明白常用的配置参数的设置了。

1、数据库连接参数设置

注:DoitPHP的数据库连接统一使用PDO(这才是王道),在关系数据库连接上DoitPHP也仅支持PDO。

下面就以MySql为例,详细说明下数据库连接参数设置。或许从主配置文件的注释说明中你已经知晓怎么去做,将下面的代码去掉注释符,将配置参数值设置为所要具体连接的数据库参数即可。

/*$config['db'] = array(
   'dsn'      => 'mysql:host=localhost;dbname=yourDbname',
   'username' => 'yourUsername',
   'password' => 'yourPassword',
   'prefix'   => '',
   'charset'  => 'utf8',
);*/

代码如下:

$config['db'] = array(
   'dsn'      => 'mysql:host=yourHost;dbname=yourDbname',
   'username' => 'yourUsername',
   'password' => 'yourPassword',
   'prefix'   => '',
   'charset'  => 'utf8',
);

注:prefix为数据表前缀。如果没有则为空,或直接把这个参数删掉。charset为数据库编码,默认为utf8。或为gbk,则自行更改。

若所开发的PHP项目是一个大项目,需要用到MySql的主从分离。对于MySql的主库及从库连接设置,稍稍复杂一点,其实注释说明中,也已经有相关的实例说明,其设置具体参数内容如下:

$config['db'] = array(
    'master'  => array(
        'dsn'      => 'mysql:host=yourHost;dbname=yourDbname',
        'username' => 'yourUsername',
        'password' => 'yourPassword',
    ),
    'slave'   => array(
        'dsn'      => 'mysql:host=yourHost;dbname=yourDbname',
        'username' => 'yourUsername',
        'password' => 'yourPassword',
    ),
    'prefix'  => '',
    'charset' => 'utf8',
);

注:master为主库参数配置,slave为从库参数配置。若从库有多台,则将slave设置为多重数组。具体内容,请自悟。

2、设置Cookie或Session的生存周期

若设置cookie的生存周期,将主配置文件中的 //$config['cookie']['expire'] = 3600; 注释符("//")去掉,将3600改为你所要设置的周期时间即可。同理,设置session的生存周期,将 //$config['session']['expire'] = 3600;去掉注释符,将参数值更改为所需值的即可。

3、开启日志记录功能

为了保证DoitPHP的运行效率,出于性能考虑,日志记录这一功能默认是关闭的。若你项目需要,则可以通过主配置文件的设置来将此功能开启。 其法:将主配置文件中 //$config['application']['log'] = true; 去掉前面的注释符("//")即可。

4、开启Debug调用功能

所谓Debug调用,就是在开发的程序调试运行中,可以优雅地显示错误信息。同时将数据库所执行的Sql语句写入日志,以方便开发人员对程序及数据库进行优化。此功能只适用于开发环境(开发模式),在生产环境中万不可使用,且不说影响程序运行效率,还会暴露服务器的敏感信息。所以这一功能,默认也是关闭的。若开发过程中需要开启使用,只需将主配置文件中 //$config['application']['debug'] = true; 去掉注释符("//")即可。切记,代码正式上线前(代码部署到生产环境),一定要把这功能关闭,方法:将刚才去掉注释符的代码注释掉,或将参数值改为false。

5、路由网址重写(Rewrite)功能

路由网址重写功能,即Rewrite功能,通常用来将项目访问网址中的入口文件:index.php隐藏掉。这样做,一方面对网站的SEO优化有利,另一方面提升网站安全。Rewrite功能默认也是关闭的。若想开启,只需将主配置文件中 //$config['application']['rewrite'] = true; 去掉注释符("//"),还需要配置web服务器配置文件。

若web服务器软件为:Nginx,需要在其配置文件server{ }中加入下面代码,重启Nginx即可。

try_files $uri $uri/ /index.php?$uri&$args;

if (!-f $request_filename) {
	rewrite "^/(.*)$" /index.php/$1 last;
}

若web服务器软件为:Apache,需要创建rewrite引导文件:.htaccess,文件放置于项目目录中,与入口文件:index.php同一个目录。文件内容为:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(js|ico|txt|gif|jpg|png|css)\$ index.php [NC,L]

其实Rewrite功能,不仅仅是隐藏掉入口文件,还有更多的应用,以及更多的设置将在后面的文档内容中详细说明