php 站点使用XML文件做配置类

要用到,在网站上找了一个,然后自己整理成一个类..

 

<? php
/*
*PHP获取和设置XML节点,用于修改和读取站点配置文件
*2008-4-3 
*LIQUAN
*eg.get config 
*$c = new Configuration('config.xml');
*echo( $c->TemplateDirectory." " );
*
* set config
* $c = new Configuration('config.xml');
* $c->TemplateDirectory='test';
* $c->save();
*/

class  Configuration
{
 
private   $configFile ;
 
private   $items = array ();
 
 
// 构造函数
  function  __construct( $configFile )
 {
   
$this -> configFile = $configFile ;
   
$this -> parse();
 } 
 
 
// 获取属性
  function  __get( $id )
 {
    
return   $this -> items[ $id ];
 }

    
// 设置属性
  function  __set( $key , $value )
 {
    
$this -> $items [ $key ] = $value ;
 } 
    
 
// 解析XML文件保存到数组
  function  parse()
 {
    
$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;
    }
 }

 
// 保存XML文件
     function  save()
    {
    
$doc = new  DOMDocument();
       
$doc -> formatOutput = true ;

    
$r = $doc -> createElement( ' config ' );
       
$doc -> appendChild( $r );

    
foreach ( $this -> items  as   $k => $v )
    {
         
$keyName = $doc -> createElement( $k );
         
$keyName -> appendChild( $doc -> createTextNode( $v ));
   
$r -> appendChild( $keyName );
    }
    
copy ( $this -> configFile , $this -> configFile . " .bak " );
    
    
$doc -> save( $this -> configFile);
    }

}


?>

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值