php - How to preserve application.ini paths using Zend_Config_Writer_Ini -



php - How to preserve application.ini paths using Zend_Config_Writer_Ini -

i'm working on build scheme in phing takes zend framework project template , configures according phing parameters. 1 problem i've come across when using zend_config_writer_ini.

my phing task takes pre-populated file repo called application.default.ini , modifies using zend_config_ini add together parameters build file (db details, etc). writes application.ini ready project use. simplified version of related task code looks this:

$appconfig = new zend_config_ini( $appdefaultconfigpath, null, array( 'skipextends' => true, 'allowmodifications' => true ) ); $appconfig->production->resources->db->params->host = $buildproperties->db->host; $appconfig->production->resources->db->params->username = $buildproperties->db->username; $appconfig->production->resources->db->params->password = $buildproperties->db->password; $appconfig->production->resources->db->params->dbname = $buildproperties->db->dbname; $writer = new zend_config_writer_ini(); $writer->setconfig($appconfig) ->setfilename($appconfigpath) ->write();

this works fine far database credentials go when comes pre-populated paths include defined constants goes wrong. example:

bootstrap.path = application_path "/bootstrap.php"

becomes:

bootstrap.path = "application_path/bootstrap.php"

is there way preserve these config lines when reading/writing different ini files or should restructure build file re-create file before running task , modify ini lines need change?

when load existing config constants translated, i.e. if @ object print_r won't find constants anymore. hence, author total path printed instead of constants.

in case guess constants don't exist in environment , hence printed is.

update: more specific. zend_config_ini::_parseinifile() uses parse_ini_file() read ini file loads constants real paths. see php.net doc illustration #2

php zend-framework ini phing zend-config

Comments

Popular posts from this blog

iphone - Dismissing a UIAlertView -

intellij idea - Update external libraries with intelij and java -

javascript - send data from a new window to previous window in php -