2015-05-26 58 views
2

所有!Kohana 3.3配置文件

如何将Kohana配置文件(电子邮件,认证,分页) 存储在MySQL数据库中?

任何帮助将不胜感激。

经过一些练习,我解决了这个问题。

步骤1:从Kohana的源创建表(代码

/modules/database/classes/Kohana/Config/Database\Writer.php`) 

CREATE TABLE IF NOT EXISTS config (
    group_name varchar(128) NOT NULL, 
    config_key varchar(128) NOT NULL, 
    config_value text, 
    PRIMARY KEY (group_name,config_key) 
) ENGINE=InnoDB; 

步骤2:在自举将(I之后的模块部添加):

Database::instance(); 
Kohana::$config->attach(new Kohana_Config_Database, FALSE); 

步骤3:使用标准方法把序列化值到表

Kohana::$config->_write_config('mymodule','options','Hard_to_solve') 

步骤4:使用标准的方式把它找回来

Kohana::$config->load('mymodule')->get('options') 
+1

出于好奇,你打算在哪里存储数据库的凭证? – castis

+0

我想保留在Kohana文件系统中的唯一配置是application/config/database.php。对造成的不便表示歉意! – Andrew

+0

我听说Kohana_Config_Database_Reader和Kohana_Config_Database_Writer,但我不知道怎么写代码,这些类... – Andrew

回答

0

你清楚地描述的只是访问数据库。如果您想要将某些配置选项存储在数据库中,以便您的应用程序或Web应用程序可以检索它们,则只需查看Kohana如何访问数据库即可。首先查看应用程序/ bootstrap.php并取消注释数据库模块(也取消userguide的注释)。然后您需要将modules/database/config/database.php复制到您的配置文件夹并设置访问权限。如果您取消了用户指南的注释,只需转到http://yourdomain.com/guide(用您的实际域名替换“yourdomain”),并且完整说明如何设置kohana以便进行数据库访问以进行查询。玩的开心!