最新国产好看的视频,伊人天堂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要自己組織格式,開(kāi)放性不好。
5. 類序列化。比較好,但是不熟悉的人使用比較麻煩!
6. php定義常量(你不用修改數(shù)據(jù)嗎?)

所以:xml最好。

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

相關(guān)文章

最新評(píng)論

桑日县| 抚松县| 阿尔山市| 秦安县| 利辛县| 蛟河市| 闸北区| 卢龙县| 屯留县| 南城县| 竹山县| 博野县| 孙吴县| 高青县| 娄底市| 红原县| 海南省| 夏津县| 乡宁县| 台安县| 丽江市| 綦江县| 常宁市| 二连浩特市| 巩留县| 虞城县| 元阳县| 清涧县| 临汾市| 南京市| 微山县| 浦县| 马山县| 锦屏县| 屏边| 漠河县| 长丰县| 鄂州市| 华阴市| 云梦县| 尚义县|