mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-01 12:42:48 +08:00
Think\Config类增加parse方法 支持其他格式的配置文件解析导入
This commit is contained in:
@@ -18,6 +18,16 @@ class Config {
|
||||
self::$_range = $range;
|
||||
}
|
||||
|
||||
// 解析其他格式的配置参数
|
||||
static public function parse($config,$type,$range=''){
|
||||
$class = '\Think\Config\Driver\\'.ucwords($type);
|
||||
if(class_exists($class)) {
|
||||
self::set((new $class())->parse($config),'',$range);
|
||||
}else{
|
||||
throw_exception('class not exists: ' . $class);
|
||||
}
|
||||
}
|
||||
|
||||
// 加载配置文件
|
||||
static public function load($file,$range=''){
|
||||
return self::set(include $file,'',$range);
|
||||
|
||||
22
Think/Config/Driver/Ini.php
Normal file
22
Think/Config/Driver/Ini.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | TOPThink [ WE CAN DO IT JUST THINK ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://topthink.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: liu21st <liu21st@gmail.com>
|
||||
// +----------------------------------------------------------------------
|
||||
// $Id$
|
||||
|
||||
namespace Think\Config\Driver;
|
||||
class Ini {
|
||||
public function parse($config){
|
||||
if(is_file($config)) {
|
||||
return parse_ini_file($config,true);
|
||||
}else{
|
||||
return parse_ini_string($config,true);
|
||||
}
|
||||
}
|
||||
}
|
||||
29
Think/Config/Driver/Xml.php
Normal file
29
Think/Config/Driver/Xml.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | TOPThink [ WE CAN DO IT JUST THINK ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://topthink.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: liu21st <liu21st@gmail.com>
|
||||
// +----------------------------------------------------------------------
|
||||
// $Id$
|
||||
|
||||
namespace Think\Config\Driver;
|
||||
class Xml {
|
||||
public function parse($config){
|
||||
if(is_file($config)) {
|
||||
$content = simplexml_load_file($config);
|
||||
}else{
|
||||
$content = simplexml_load_string($config);
|
||||
}
|
||||
$result = (array)$content;
|
||||
foreach($result as $key=>$val){
|
||||
if(is_object($val)) {
|
||||
$result[$key] = (array)$val;
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user