扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:Jack D. Herrington 来源:IBM 2007年10月21日
关键字:
DROP TABLE IF EXISTS settings; CREATE TABLE settings ( id MEDIUMINT NOT NULL AUTO_INCREMENT, name TEXT, value TEXT, PRIMARY KEY ( id ) ); |
<?php require_once( 'DB.php' ); $dsn = 'mysql://root:password@localhost/config'; $db =& DB::Connect( $dsn, array() ); if (PEAR::isError($db)) { die($db->getMessage()); } class Configuration { private $configFile = 'config.xml'; private $items = array(); function __construct() { $this->parse(); } function __get($id) { return $this->items[ $id ]; } function __set($id,$v) { global $db; $this->items[ $id ] = $v; $sth1 = $db->prepare( 'DELETE FROM settings WHERE name=?' ); $db->execute( $sth1, $id ); if (PEAR::isError($db)) { die($db->getMessage()); } $sth2 = $db->prepare('INSERT INTO settings ( id, name, value ) VALUES ( 0, ?, ? )' ); $db->execute( $sth2, array( $id, $v ) ); if (PEAR::isError($db)) { die($db->getMessage()); } } function parse() { global $db; $doc = new DOMDocument(); $doc->load( $this->configFile ); $cn = $doc->getElementsByTagName( "config" ); $nodes = $cn->item(0)->getElementsByTagName( "*" ); foreach( $nodes as $node ) $this->items[ $node->nodeName ] = $node->nodeValue; $res = $db->query( 'SELECT name,value FROM settings' ); if (PEAR::isError($db)) { die($db->getMessage()); } while( $res->fetchInto( $row ) ) { $this->items[ $row[0] ] = $row[1]; } } } $c = new Configuration(); echo( $c->TemplateDirectory."\n" ); $c->TemplateDirectory = 'new foo'; echo( $c->TemplateDirectory."\n" ); ?> |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者