Класс Conf
Объект $Conf:
Объект для работы с конфигурацией сайта
Исходный код
class Conf extends \Cms\Site\Base { … }
Свойства
$file
$Conf->file = null;
Файл конфигурации
Исходный код
var $file = null;
$data
$Conf->data = null;
Данные конфигурации
Исходный код
var $data = null;
Методы
__construct()
new Conf($open=true);
Конструктор.
Параметры:
Имя | Описание |
---|---|
$open |
|
Исходный код
function __construct($open = true) {
parent::__construct();
if ($open === false) return;
elseif ($open === null || $open === true) $open = "cms/conf.php";
$this->init($open);
}
init()
$Conf->init($file=null);
Загрузка файла конфигурации
Параметры:
Имя | Описание |
---|---|
$file |
|
Возвращает: true|null
Исходный код
function init($file = null) {
$root = $this->root();
if (isset($file)) $this->file = $file;
else $file = $this->file;
if ($file[0] != "/" && strlen($root)) $this->file = $file = "$root/$file";
if (is_array($data = @include($file))) {
$this->data = $data;
return true;
} else {
$this->addError("Невозможно прочитать файл «{$file}»");
}
}
get()
$Conf->get($key, $default=null);
Значение параметра конфигурации
Параметры:
Имя | Описание |
---|---|
$key |
|
$default |
|
Возвращает: mixed
Исходный код
function get($key, $default = null) {
return isset($this->data[$key]) ? $this->data[$key] : $default;
}
set()
$Conf->set($key, $value=null);
Установка значения параметра конфигурации
Параметры:
Имя | Описание |
---|---|
$key |
|
$value |
|
Возвращает: any
Исходный код
function set($key, $value = null) {
return $this->data[$key] = $value;
}
save()
$Conf->save();
Сохранение конфигурации
Возвращает: true|null
Исходный код
function save() {
if (@file_put_contents($file = $this->file, $this->export($this->data)) !== false) {
@chmod($file, 0666);
return true;
} else {
$this->addError("Невозможно записать файл «{$file}»");
}
}
export()
$Conf->export($data);
Конфигурация в виде строки для записи в файл
Параметры:
Имя | Описание |
---|---|
$data |
|
Возвращает: string
Исходный код
function export($data) {
$a = array();
foreach ($data as $k => $v) if (substr($k, 0, 5) != "_old_") $a[$k] = $v;
return '<' . '?php' . ' return' . "\n" . var_export($a, true) . ';' . "\n";
}