2013-10-25 4 views
0

Я хотел бы настроить базу данных в CakePHP, предоставляя хост, логин и пароль с формой (так что без записи файла database.php сам). Целью является некоторая автоматическая настройка CakePHP (я бы использовал это, чтобы обеспечить соль и cypherSeed тоже). Возможно ли это? Каков наилучший способ? Я прочитал кое-что о написании файла через PHP ...CakePHP - установить базу данных с формой

ответ

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('...'); ... 

Надежда Я мог бы помочь, удачи!

+0

Да, это может помочь. Спасибо :-) – Thiezar

Смежные вопросы