最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP讀取配置文件類實(shí)例(可讀取ini,yaml,xml等)

 更新時(shí)間:2015年07月28日 17:23:50   作者:mickelfeng  
這篇文章主要介紹了PHP讀取配置文件類,可讀取ini,yaml,xml等配置文件,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了PHP讀取配置文件類實(shí)例。分享給大家供大家參考。具體如下:

<?php 
class Settings { 
 var $_settings = array (); 
 function get($var) { 
 $var = explode ( '.', $var ); 
 $result = $this->_settings; 
 foreach ( $var as $key ) { 
  if (! isset ( $result [$key] )) { 
  return false; 
  }  
  $result = $result [$key]; 
 }  
 return $result; 
 } 
 function load() { 
 trigger_error ( 'Not yet implemented', E_USER_ERROR ); 
 } 
} 
class Settings_PHP extends Settings { 
 function load($file) { 
 if (file_exists ( $file ) == false) { 
  return false; 
 } 
 // Include file 
 include ($file); 
 unset ( $file ); 
 // Get declared variables 
 $vars = get_defined_vars (); 
 // Add to settings array 
 foreach ( $vars as $key => $val ) { 
  if ($key == 'this') 
  continue;  
  $this->_settings [$key] = $val; 
 } 
 } 
} 
class Settings_INI extends Settings { 
 function load($file) { 
 if (file_exists ( $file ) == false) { 
  return false; 
 } 
 $this->_settings = parse_ini_file ( $file, true ); 
 } 
} 
class Settings_YAML extends Settings { 
 function load($file) { 
 if (file_exists ( $file ) == false) { 
  return false; 
 } 
 include ('spyc.php'); 
 $this->_settings = Spyc::YAMLLoad ( $file ); 
 } 
} 
class Settings_XML extends Settings { 
 function load($file) { 
 if (file_exists ( $file ) == false) { 
  return false; 
 } 
 include ('xmllib.php'); 
 $xml = file_get_contents ( $file ); 
 $data = XML_unserialize ( $xml ); 
 $this->_settings = $data ['settings']; 
 } 
} 
?> 

/** 
* 針對(duì)PHP的配置,如有配置文件 
*config.php 
<?php 
$db = array(); 
// Enter your database name here: 
$db['name'] = 'test'; 
// Enter the hostname of your MySQL server: 
$db['host'] = 'localhost'; 
?> 
//具體調(diào)用: 
include ('settings.php'); //原始環(huán)境假設(shè)每個(gè)類為單獨(dú)的一個(gè)類名.php文件 
// Load settings (PHP) 
$settings = new Settings_PHP; 
$settings->load('config.php'); 
echo 'PHP: ' . $settings->get('db.host') . ''; 
* 
*/ 
 讀取INI文件,主要用到parser_ini_file函數(shù),該函數(shù)返回一個(gè)數(shù)組,如第二個(gè)參數(shù)為true時(shí)則返回多維數(shù)組
/** 
* ini例子:config.ini 
* 
[db] 
name = test 
host = localhost 
//調(diào)用例子: 
$settings = new Settings_INI; 
$settings->load('config.ini'); 
echo 'INI: ' . $settings->get('db.host') . ''; 
*/ 
 讀取XML文件,需要用到XML_PARSER,xmllib.php
/** 
* XML例子:config.xml 
<?xml version="1.0" encoding="UTF-8"?> 
<settings> 
<db> 
 <name>test</name> 
 <host>localhost</host> 
</db> 
</settings> 
// Load settings (XML) 
$settings = New Settings_XML; 
$settings->load('config.xml'); 
echo 'XML: ' . $settings->get('db.host') . ''; 
* 
*/ 
 讀取YAML格式文件,使用YAML必須使用到SPYC這個(gè)庫(kù)
/** 
YAML配置例子:config.yaml 
db: 
 name: test 
 host: localhost 
// Load settings (YAML) 
$settings = New Settings_YAML; 
$settings->load('config.yaml'); 
echo 'YAML: ' . $settings->get('db.host') . ''; 
*/ 

1. ini有點(diǎn)過(guò)時(shí)??
2. xml比較好,
3. yaml很好,但是畢竟沒(méi)有標(biāo)準(zhǔn)化。
4. txt要自己組織格式,開放性不好。
5. 類序列化。比較好,但是不熟悉的人使用比較麻煩!
6. php定義常量(你不用修改數(shù)據(jù)嗎?)

所以:xml最好。

希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

武陟县| 杭锦旗| 天台县| 兰考县| 汪清县| 马尔康县| 库伦旗| 高碑店市| 论坛| 工布江达县| 杭州市| 西宁市| 静乐县| 涞水县| 富民县| 佛学| 襄樊市| 中超| 洛宁县| 临清市| 泌阳县| 东港市| 江北区| 登封市| 两当县| 溆浦县| 大理市| 南昌县| 绍兴县| 获嘉县| 阳东县| 宁津县| 荃湾区| 友谊县| 满洲里市| 宝应县| 金湖县| 滨海县| 海伦市| 留坝县| 彭州市|