home *** CD-ROM | disk | FTP | other *** search
- <?php
- /**
- * Config.php example
- *
- * Lots of different manipulations to show Config features.
- *
- * @author Bertrand Mansion <bmansion@mamasam.com>
- * @package Config
- */
- // $Id: IniFromScratch.php,v 1.2 2003/03/21 18:04:21 mansion Exp $
-
- require_once('Config.php');
-
- // Creates a PHPArray config with attributes, from scratch
-
- $dsn = array('type' => 'mysql',
- 'host' => 'localhost',
- 'user' => 'mamasam',
- 'pass' => 'foobar');
-
- $c = new Config_Container('section', 'root');
- $c->createComment('DB Config');
- $db =& $c->createSection('DB', $dsn);
- $fields =& $db->createSection('fields');
- $fields->createDirective('username', 'USERNAME', array('type' => 'varchar', 'size' => 32));
- $fields->createDirective('password', 'PASSWD', array('type' => 'varchar', 'size' => 32));
- $c->createBlank();
- $c->createComment('Support config');
- $c->createDirective('support', 'See my wishlist...');
-
- echo '<pre>'. $c->toString('phparray') .'</pre>';
- unset($c);
-
- // Parses and writes an existing php array $conf
-
- $conf['storage']['driver'] = 'sql';
- $conf['storage']['params']['phptype'] = 'mysql';
- $conf['storage']['params']['hostspec'] = 'localhost';
- $conf['storage']['params']['username'] = 'mamasam';
- $conf['storage']['params']['password'] = 'foobar';
- $conf['menu']['apps'] = array('imp', 'turba');
- $conf['stdcontent']['para'][0] = 'This is really cool !';
- $conf['stdcontent']['para'][1] = 'It just rocks...';
-
- $c = new Config();
- $root =& $c->parseConfig($conf, 'phparray');
-
- $storage =& $root->getItem('section', 'storage');
- $storage->removeItem();
- $root->addItem($storage);
-
- echo '<pre>'. $root->toString('phparray', array('name' => 'test')) .'</pre>';
-
- if ($c->writeConfig('/tmp/Config_Test.php', 'phparray', array('name' => 'test')) === true) {
- echo 'Config written into /tmp/Config_Test.php';
- }
-
- // Making a php ini file with $storage only
-
- $ini = new Config();
- $iniRoot =& $ini->getRoot();
- $iniRoot->addItem($storage);
-
- $comment =& new Config_Container('comment', null, 'This is the php ini version of storage');
- $iniRoot->addItem($comment, 'top');
- $iniRoot->createBlank('after', $comment);
- echo '<pre>'. $iniRoot->toString('inicommented') .'</pre>';
-
- // Gonna make an array with it
-
- echo '<pre>'; var_dump($iniRoot->toArray()); echo '</pre>';
-
- // Now, I'll parse you php.ini file and make it a php array
-
- $phpIni = new Config();
- $phpIni->parseConfig('/usr/local/lib/php.ini', 'inifile');
- $root =& $phpIni->getRoot();
- echo '<pre>'.$root->toString('phparray', array('name' => 'php_ini')).'</pre>';
-
- ?>