CakePHP - 使用表单设置数据库

时间:2013-10-25 13:51:44

标签: php database cakephp installation edit

我想在CakePHP中设置数据库,提供一个表单的主机,登录名和密码(所以不用自己编写database.php文件)。目的是CakePHP的某种自动设置(我也会用它来提供salt和cypherSeed)。 这可能吗?什么是最好的方法?我读了一些关于通过PHP编写文件的内容......

1 个答案:

答案 0 :(得分:0)

如果从控制器创建/加载数据库连接,则可以使用此数据变量。我不认为用表单编写database.php文件是个好主意。 所以我会做这样的事情:

//Controller
$this->Formdatabase = ClassRegistry::init('Formdatabase');
$db_host = '';//load from file or DB
$db_user = '';//load from file or DB
$db_pass = '';//load from file or DB
$db_database = '';//load from file or DB
ConnectionManager::create("form_database", array(
      'datasource' => 'Database/Mysql',
      'driver' => 'mysql',
      'persistent' => false,
      'host' => $db_host,
      'login' => $db_user,
      'password' => $db_pass,
      'database' => $db_database,
      'prefix' => '',
      'encoding' => 'UTF8',
      'port' => '',
));
$this->Formdatabase->useTable  = ''; //table you want to use. (in Model or controller)
//Model
<?php
  class Formdatabase extends Model {
public $useDbConfig = 'form_database';
  }
?>
//Now you can use $this->Formdatabase->find('...'); ...

希望我能帮忙,祝你好运!