php 站點使用XML文件做配置類_PHP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:php編寫的ACCESS處理類在做項目中要用到ACCESS數據庫,所以就寫了一個ACCESS處理類.函數名跟ADODB類一樣. ?php /* *ACCESS數據庫操作類 *2008-3-26 *LIQUAN *dsn = DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=.PATH_ROOT.databasedata.mdb; *conn=new Access(); *conn-Con
要用到,在網站上找了一個,然后自己整理成一個類..
<?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);
}
}
?>
/*
*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);
}
}
?>
分享:解析基于MVC的輕量級PHP框架做WEB開發已有一年,每次都寫重復的東西, 因此,想自己寫一下框架,以后開發方便. 本人之前學習asp.NET兩年,JSP半年,可是后來因為工作的原故換成PHP.其實很不喜歡PHP的語法.還有PHP的函數名,每回都忘記..還是喜歡C#和JAVA的語法,哈...不過PHP有PHP的優點,不像AS
相關PHP教程:
- 相關鏈接:
- 教程說明:
PHP教程-php 站點使用XML文件做配置類。