Добавил в документации в wiki нижеследующий текст. К сожалению текст нуждается в форматировании. Сам я с wiki не очень дружу. В режиме правки там все понятно.
Сам по себе класс ничего сложного не представляет. Класс используется для загрузки и сохранения базовых настроек InstantCMS.
переменная для хранения объекта класса, недоступная извне. Доступ обеспечивается методом public static function getInstance().
private function __construct()
конструктор для создания объекта. Грузит (выполняет с помощью функции include()) конфиг. файл из "/includes/config.inc.php".
public static function getInstance()
как было описно выше, метод используется для получения экземпляра класса.
public function saveToFile($_CFG, $file=’config.inc.php’)
метод сохраняет настройки в виде php файла в папку "/includes/", который потом в дальнейшем будет грузиться
Ниже приводятся коды конфиг. файла и код класса.
Стоит обратить внимание на параметр
Параметр введен для включения режима отладки и предоставления отладочной информации.
В дальнейшем в классах API будет встречаться следующая конструкция:
Злоупотреблять подобными вставками не стоит, поскольку будет влиять на быстродействие.
Код конфигурационного файла:
По скольку код класса не очень большой, привожу код целиком здесь:
class cmsConfig
расположен в файле /core/classes/config.class.phpСам по себе класс ничего сложного не представляет. Класс используется для загрузки и сохранения базовых настроек InstantCMS.
Краткий обзор
private static $instanceпеременная для хранения объекта класса, недоступная извне. Доступ обеспечивается методом public static function getInstance().
private function __construct()
конструктор для создания объекта. Грузит (выполняет с помощью функции include()) конфиг. файл из "/includes/config.inc.php".
public static function getInstance()
как было описно выше, метод используется для получения экземпляра класса.
public function saveToFile($_CFG, $file=’config.inc.php’)
метод сохраняет настройки в виде php файла в папку "/includes/", который потом в дальнейшем будет грузиться
Ниже приводятся коды конфиг. файла и код класса.
Стоит обратить внимание на параметр
$_CFG['debug']= 0;
В дальнейшем в классах API будет встречаться следующая конструкция:
if ($inConf->debug){ //выдача отладочной информации }
Код конфигурационного файла:
<?php $_CFG['sitename'] = 'Мой сайт'; $_CFG['hometitle'] = ''; $_CFG['homecom'] = ''; $_CFG['siteoff'] = 0; $_CFG['debug'] = 0; $_CFG['offtext'] = 'Производится обновление сайта'; $_CFG['keywords'] = 'InstantCMS, система управления сайтом, бесплатная CMS, движок сайта, CMS'; $_CFG['metadesc'] = 'InstantCMS - бесплатная система управления сайтом с социальными функциями'; $_CFG['seourl'] = ''; $_CFG['lang'] = 'ru'; $_CFG['sitemail'] = ''; $_CFG['wmark'] = 'watermark.png'; $_CFG['stats'] = 1; $_CFG['template'] = '_default_'; $_CFG['splash'] = 0; $_CFG['slight'] = 1; $_CFG['db_host'] = 'localhost'; $_CFG['db_base'] = 'my_db'; $_CFG['db_user'] = 'my_user'; $_CFG['db_pass'] = 'db_password'; $_CFG['db_prefix'] = 'cms'; $_CFG['page_fx'] = 1; $_CFG['show_pw'] = 1; $_CFG['index_pw'] = 0; $_CFG['fastcfg'] = 1; $_CFG['mailer'] = 'mail'; $_CFG['sendmail'] = '/usr/sbin/sendmail'; $_CFG['smtpauth'] = 0; $_CFG['smtpuser'] = ''; $_CFG['smtppass'] = ''; $_CFG['smtphost'] = 'localhost'; ?>
class cmsConfig { private static $instance; private function __construct(){ $cfg_file = PATH.'/includes/config.inc.php'; if (file_exists($cfg_file)){ include($cfg_file); foreach ($_CFG as $id=>$value) { $this->{$id} = $value; } } if (!$this->db_prefix){ $this->db_prefix = 'cms'; } return true; } private function __clone() {} ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static function getInstance() { if (self::$instance === null) { self::$instance = new self; } return self::$instance; } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Сохраняет массив в файл конфигурации * @param array $_CFG */ public function saveToFile($_CFG, $file='config.inc.php'){ $filepath = PATH.'/includes/'.$file; if (file_exists($filepath)){ if (!@is_writable($filepath)){ die('Файл <strong>'.$filepath.'</strong> недоступен для записи!'); } } else { if (!@is_writable(dirname($filepath))){ die('Папка <strong>'.dirname($filepath).'</strong> недоступна для записи!'); } } $cfg_file = fopen($filepath, 'w+'); fputs($cfg_file, "<?php \n"); fputs($cfg_file, '$_CFG = array();'."\n"); foreach($_CFG as $key=>$value){ if (is_int($value)){ $s = '$_CFG' . "['$key'] \t= $value;\n"; } else { $s = '$_CFG' . "['$key'] \t= '$value';\n"; } fwrite($cfg_file, $s); } fwrite($cfg_file, "?>"); fclose($cfg_file); return true; } }
Реклама #
14 лет назад #
СергейР 14 лет назад #
14 лет назад #
14 лет назад #
14 лет назад #
Львенок 14 лет назад #
когда буду user.class.php рассматривать, тогда и приведу...
написано же "базовой конфигурации движка"...