Files
addons
app_download_files
extend
alipay
app_alipay
aop
lotusphp_runtime
Autoloader
Cache
Captcha
Cookie
DB
Inflector
Logger
MVC
ObjectUtil
Pagination
RBAC
Router
Session
Url
Validator
XML
Config.php
ConfigExpression.php
Lotus.php
Store.php
StoreFile.php
StoreMemory.php
shortcut.php
AopSdk.php
demo.php
version.txt
╦╡├ў.txt
image
org
phpexcel
phpmailer
unionpay
verify
wechat
wxpay
.htaccess
hyhproject
mobile
oss
static
thinkphp
upload
vendor
wxtmp
.gitignore
.htaccess
.user.ini
404.html
H5B854518.wgt
admin.php
app-release.apk
app_download.html
cash.lock
demo.php
get_startup.php
get_version.php
get_version_new.php
index.html
index.php
reg.lock
robots.txt
qlg.tsgz.moe/extend/app_alipay/lotusphp_runtime/Config.php
2019-09-06 23:53:10 +08:00

85 lines
1.6 KiB
PHP
Executable File

<?php
class LtConfig
{
public $storeHandle;
protected $conf;
public function __construct()
{
if (!is_object($this->storeHandle))
{
$this->storeHandle = new LtStoreMemory;
}
}
public function init()
{
//don't removeme, I am the placeholder
}
public function get($key)
{
$storedConfig = $this->storeHandle->get($key);
if ($storedConfig instanceof LtConfigExpression)
{
$str = $storedConfig->__toString();
if ($storedConfig->autoRetrived)
{
eval("\$value=$str;");
return $value;
}
else
{
return $str;
}
}
else
{
return $storedConfig;
}
}
/**
* 警告
* 这里会包含两个用户定义的配置文件,为了不和配置文件里的变量名发生重名
* 本方法不定义和使用变量名
*/
public function loadConfigFile($configFile)
{
if (0 == $this->storeHandle->get(".config_total"))
{
if (null === $configFile || !is_file($configFile))
{
trigger_error("no config file specified or invalid config file");
}
$this->conf = include($configFile);
if (!is_array($this->conf))
{
trigger_error("config file do NOT return array: $configFile");
}
elseif (!empty($this->conf))
{
if (0 == $this->storeHandle->get(".config_total"))
{
$this->storeHandle->add(".config_total", 0);
}
$this->addConfig($this->conf);
}
}
}
public function addConfig($configArray)
{
foreach($configArray as $key => $value)
{
if (!$this->storeHandle->update($key, $value))
{
if ($this->storeHandle->add($key, $value))
{
$this->storeHandle->update(".config_total", $this->storeHandle->get(".config_total") + 1, 0);
}
}
}
}
}