Система управления «Сайт PRO»
Версия 20240107

Класс Base

Объект $Base: Cms\Root\Base

Базовый класс для всех объектов системы управления

Исходный код
class Base { … }

Свойства

$error

$Base->error = null;

Список текущих ошибок

Исходный код
    var $error = null;

Методы

__construct()

new Base();

Конструктор

Исходный код
    function __construct() {
        return;
    }

open()

$Base->open();

Инициализация

Смотрите описание $Base->init()

Исходный код
    function open() {
        return $this->init();
    }

init()

$Base->init();

Инициализация

Возвращает: true – инициализация выполнена; null – инициализация уже выполнена ранее

Исходный код
    function init() {
        if ($this->_init) return;
        return $this->_init = true;
    }

App()

$Base->App();

Объект $App

Возвращает: Cms\Root\App

Исходный код
    function App() {
        return $GLOBALS['App'];
        return \Cms\Site\App::getInstance();
    }

root()

$Base->root();

Корневая папка сайта

Возвращает: string

Исходный код
    function root() {
        return $this->App()->root();
    }

Conf()

$Base->Conf();

Объект $Conf

Возвращает: Cms\Root\Conf

Исходный код
    function Conf() {
        return $this->App()->Conf();
    }

Data()

$Base->Data();

Объект $Data

Возвращает: Cms\Root\Data\Base

Исходный код
    function Data() {
        return $this->App()->Data();
    }

Auth()

$Base->Auth();

Объект $Auth

Возвращает: Cms\Root\Auth

Исходный код
    function Auth() {
        return $this->App()->Auth();
    }

Main()

$Base->Main();

Объект $Main

Возвращает: Cms\Root\Main

Исходный код
    function Main() {
        return $this->App()->Main();
    }

Form()

$Base->Form();

Объект $Form

Возвращает: Cms\Root\Form

Исходный код
    function Form() {
        return $this->App()->Form();
    }

getError()

$Base->getError();

Получить список текущих ошибок

Возвращает: Cms\Root\Error |null

Исходный код
    function getError() {
        return $this->error;
    }

setError()

$Base->setError($error);

Установить текущую ошибку и вернуть ее в виде объекта

Параметры:

ИмяОписание
$error

Cms\Root\Error; array; string ошибка

Возвращает: Cms\Root\Error |null

Исходный код
    function setError($error) {
        if (!isset($error)) return;
        elseif ($error instanceof \Cms\Root\Error) return $this->error = $error;
        elseif (is_array($error)) return $this->error = new \Cms\Root\Error($error);
        else return $this->error = new \Cms\Root\Error($error);
    }

addError()

$Base->addError($error);

Добавить ошибку в список текущих ошибок и вернуть список текущих ошибок

Параметры:

ИмяОписание
$error

Cms\Root\Error; string; null ошибка

Возвращает: Cms\Root\Error |null

Исходный код
    function addError($error) {
        if (!isset($error)) return;
        elseif ($this->error instanceof \Cms\Root\Error) return $this->error->addError($error);
        else return $this->setError($error);
    }

clearError()

$Base->clearError();

Очистка список текущих ошибок

Исходный код
    function clearError() {
        $this->error = null;
    }

dump()

$Base->dump($data=null);

Отображение отладочной информации

Параметры:

ИмяОписание
$data

данные

Исходный код
    function dump($data = null) {
        if (!func_num_args()) $data = $this;
        ob_start();
        var_dump($data);
        print '<pre>' . htmlspecialchars(ob_get_clean()) . '</pre>';
    }

_log()

$Base->_log($message);

Запись отладочной информации в файл

Параметры:

ИмяОписание
$message

string сообщение

Исходный код
    function _log($message) {
        if (func_num_args() > 1) {
            $args = func_get_args();
            foreach ($args as $i => $arg) if ($i || !is_string($arg)) $args[$i] = var_export($arg, true);
            $message = implode(' ', $args);
        } else {
            if (!is_string($message)) $message = var_export($message, true);
        }
        static $L;
        if (!isset($L)) {
            $root = $this->root();
            $addr = $_SERVER['REMOTE_ADDR']; if (!$addr) $addr = '0.0.0.0';
            $L = @fopen($root . '/logs-' . $addr . '.txt', 'a');
        }
        @fwrite($L, '[' . date('Y-m-d H:i:s') . '] "http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '" ' . $message . "\n");
        @fflush($L);
    }