waSystemConfig

Класс для получения информации о конфигурации фреймворка

Содержание...

Экземпляр этого класса возвращает метод wa()->getConfig().

Методы

  • getAuth

    Возвращает информацию о конфигурации авторизации всех сайтов.

  • getBackendUrl

    Возвращает относительный URL бекенда.

  • getConfigFile

    Возвращает содержимое системного конфигурационного файла.

  • getConfigPath

    Возвращает путь к конфигурационному файлу.

  • getCurrentUrl

    Возвращает относительный URL текущего HTTP-запроса.

  • getDatabase

    Возвращает конфигурацию баз данных.

  • getDomain

    Возвращает домен из URL текущего HTTP-запроса.

  • getHostUrl

    Возвращает URL хоста.

  • getLocales

    Возвращает информацию обо всех доступных локалях фреймворка.

  • getPath

    Возвращает путь к директории или PHP-файлу в директории фреймворка.

  • getRequestUrl

    Возвращает URL текущего HTTP-запроса.

  • getRootPath

    Возвращает путь к корневой директории фреймворка.

  • getRootUrl

    Возвращает основной URL фреймворка.

  • isDebug

    Возвращает статус включения режима отладки.

  • systemOption

    Возвращает значение системного параметра конфигурации.

  • getAppsPath

    Возвращает путь к директории с файлами приложения.

  • getRouting

    Возвращает содержимое файла конфигурации маршрутизации фронтенда, применяемого для текущего экземпляра класса конфигурации.

public function getAuth()

Возвращает информацию о конфигурации авторизации всех сайтов. Для каждого сайта метод возвращает статус настройки авторизации и идентификатор приложения, обрабатывающего авторизацию и регистрацию посетителей сайта. Если в настройках сайта авторизация не включена, метод либо не включит этот сайт в возвращаемый результат, либо вернет для этого сайта пустой массив.

Пример

$auth_config = wa()->getConfig()->getAuth();

Результат

[
    'mydomain.ru' => [
        'auth' => true,
        'app' => 'site',
    ],
    'seconddomain.ru' => [
        'auth' => true,
        'app' => 'shop',
    ],
]

public function getBackendUrl ($with_root_url = false)

Возвращает относительный URL бекенда.

Параметры

  • $with_root_url

    Флаг, обозначающий необходимость вернуть URL бекенда с символами косой черты / в начале и в конце URL. По умолчанию (false) метод возвращает URL бекенда без символов косой черты.

Пример

wa()->getConfig()->getBackendUrl();

Результат

webasyst

Пример

wa()->getConfig()->getBackendUrl(true);

Результат

/webasyst/

public function getConfigFile ($file, $default = [])

Возвращает содержимое системного конфигурационного файла.

Параметры

  • $file

    Имя конфигурационного файла в директории wa-config/.

  • $default

    Содержимое по умолчанию, которое должен вернуть метод, если указанный файл не существует.

Пример

wa()->getConfig()->getConfigFile('config');

Результат

[
    'debug' => true,
    'backend_url' => 'admin',
    'mod_rewrite' => true,
]

public function getConfigPath ($name, $user_config = true, $app = null)

Возвращает путь к конфигурационному файлу.

Параметры

  • $name

    Имя файла.

  • $user_config

    Флаг, обозначающий, что файл предназначен для сохранения значений, указанных пользователем, — в этом случае метод возвращает путь к файлу в директории wa-config/apps/[app_id]. В противном случае метод возвращает путь к файлу в директории wa-apps/[app_id]/lib/config.

  • $app

    Идентификатор приложения. Если значение не указано, метод возвращает путь к конфигурационному файлу фреймворка.

Пример

wa()->getConfig()->getConfigPath('workflow.php', true, 'shop');

Результат

/var/www/wa-config/apps/shop/workflow.php

public function getCurrentUrl()

Возвращает относительный URL текущего HTTP-запроса.

Пример

wa()->getConfig()->getCurrentUrl();

Результат

/webasyst/blog/?plugin=test&action=settings

public function getDatabase()

Возвращает конфигурацию баз данных, к которым подключен фреймворк, из файла wa-config/db.php.

Пример

wa()->getConfig()->getDatabase();

Результат

[
    'default' => [
        'type' => 'mysqli',
        'host' => 'localhost',
        'port' => '3306',
        'user' => 'admin',
        'password' => 'qL5UfHtoV4k8Xw7M',
        'database' => 'webasyst',
        'sql_mode' => 'TRADITIONAL',
    ],
]

public function getDomain()

Возвращает домен из URL текущего HTTP-запроса.

Пример

wa()->getConfig()->getDomain();

Результат

mydomain.ru

public function getHostUrl()

Возвращает URL хоста с названием протокола без конечного символа косой черты /.

Пример

wa()->getConfig()->getHostUrl();

Результат

https://mydomain.ru

public function getLocales ($type = false)

Возвращает информацию обо всех доступных локалях фреймворка.

Параметры

  • $type

    Формат возвращаемых значений:

    • true или 'all': вернуть всю доступную информацию о локалях.
    • 'name_region': для каждой локали вернуть строку вида «Название локали (Название региона из свойств локали)». Например: «Русский (Российская Федерация)».
    • 'name': для каждой локалии вернуть только ее название. Например: «Русский».
    • false: вернуть только идентификаторы локалей (значение по умолчанию).

Пример

wa()->getConfig()->getLocales();

Результат

[
    0 => 'en_US',
    1 => 'ru_RU',
]

Пример

wa()->getConfig()->getLocales(true);

Результат

[
    'ru_RU' => [
        'iso3' => 'rus',
        'name' => 'Русский',
        'region' => 'Российская Федерация',
        'english_name' => 'Russian',
        'english_region' => 'Russian Federation',
        'date_formats' => [
            'humandate' => 'j f Y',
            'date' => 'd.m.Y',
            'dtime' => 'd.m H:i',
            'datetime' => 'd.m.Y H:i',
            'fulldatetime' => 'd.m.Y H:i:s',
        ],
        'date_month_postfix' => 'я',
        'decimal_point' => ',',
        'frac_digits' => '2',
        'thousands_sep' => ' ',
        'first_day' => 1,
        'amount_in_words' => [
            'plural' => [
                1000 => 2,
            ],
        ],
        'translit_table' => [
            'А' => 'A',
            'Б' => 'B',
            'В' => 'V',
            'Г' => 'G',
            'Д' => 'D',
            'Е' => 'Ye',
            'Ё' => 'Yo',
            'Ж' => 'Zh',
            'З' => 'Z',
            'И' => 'I',
            'Й' => 'Y',
            'К' => 'K',
            'Л' => 'L',
            'М' => 'M',
            'Н' => 'N',
            'О' => 'O',
            'П' => 'P',
            'Р' => 'R',
            'С' => 'S',
            'Т' => 'T',
            'У' => 'U',
            'Ф' => 'F',
            'Х' => 'Kh',
            'Ц' => 'Ts',
            'Ч' => 'Ch',
            'Ш' => 'Sh',
            'Щ' => 'Shch',
            'Ь' => '',
            'Ы' => 'Y',
            'Ъ' => '',
            'Э' => 'E',
            'Ю' => 'Yu',
            'Я' => 'Ya',
            'а' => 'a',
            'б' => 'b',
            'в' => 'v',
            'г' => 'g',
            'д' => 'd',
            'е' => 'e',
            'ё' => 'yo',
            'ж' => 'zh',
            'з' => 'z',
            'и' => 'i',
            'й' => 'y',
            'к' => 'k',
            'л' => 'l',
            'м' => 'm',
            'н' => 'n',
            'о' => 'o',
            'п' => 'p',
            'р' => 'r',
            'с' => 's',
            'т' => 't',
            'у' => 'u',
            'ф' => 'f',
            'х' => 'kh',
            'ц' => 'ts',
            'ч' => 'ch',
            'ш' => 'sh',
            'щ' => 'shch',
            'ь' => '',
            'ы' => 'y',
            'ъ' => '',
            'э' => 'e',
            'ю' => 'yu',
            'я' => 'ya',
        ],
        'currency' => 'RUB',
    ],
    'en_US' => [
        'iso3' => 'usa',
        'name' => 'English',
        'region' => 'USA',
        'english_name' => 'English',
        'english_region' => 'USA',
        'date_formats' => [
            'humandate' => 'F j, Y',
            'date' => 'm/d/Y',
            'dtime' => 'd/m H:i',
            'datetime' => 'm/d/Y H:i',
            'fulldatetime' => 'm/d/Y H:i:s',
        ],
        'decimal_point' => '.',
        'frac_digits' => '2',
        'thousands_sep' => ',',
        'first_day' => 7,
        'amount_in_words' => [
            'delim' => [
                10 => '-',
                100 => ' and ',
            ],
        ],
        'currency' => 'USD',
    ],
];

Пример

wa()->getConfig()->getLocales('name');

Результат

[
    'en_US' => 'English',
    'ru_RU' => 'Русский',
]

Пример

wa()->getConfig()->getLocales('name_region');

Результат

[
    'en_US' => 'English (USA)',
    'ru_RU' => 'Русский (Российская Федерация)',
]

public function getPath ($name, $file = null)

Возвращает путь к директории или PHP-файлу в директории фреймворка.

Параметры

  • $name

    Идентификатор поддиректории фреймворка из следудющего списка.

    • 'root': корневая директория фреймворка
    • 'apps': wa-apps/
    • 'cache': wa-cache/
    • 'config': wa-config/
    • 'content': wa-content/
    • 'data': wa-data/
    • 'installer': wa-installer/
    • 'log': wa-log/
    • 'plugins': wa-plugins/
    • 'system': wa-system/
    • 'widgets': wa-widgets/
  • $file

    Имя PHP-файла в указанной директории — без расширения, — путь к которому нужно получить.

Пример

wa()->getConfig()->getPath('data');

Результат

/var/www/mywebsite/wa-data

Пример

wa()->getConfig()->getPath('data', 'public/shop/products/thumb');

Результат

/var/www/mywebsite/wa-data/public/shop/products/thumb.php

public function getRequestUrl ($without_root = true, $without_params = false)

Возвращает URL текущего HTTP-запроса.

Параметры

  • $without_root

    Флаг возврата относительного URL. По умолчанию (true) возвращается относительный URL.

  • $without_params

    Флаг возврата URL без GET-параметров. По умолчанию (false) возвращается URL с GET-параметрами.

Пример

wa()->getConfig()->getRequestUrl()

Результат

webasyst/myapp/?action=save

Пример

wa()->getConfig()->getRequestUrl(false)

Результат

https://mydomain.ru/webasyst/myapp/?action=save

Пример

wa()->getConfig()->getRequestUrl(false, true)

Результат

https://mydomain.ru/webasyst/myapp/

public function getRootPath()

Возвращает путь к корневой директории фреймворка.

Пример

wa()->getConfig()->getRootPath()

Результат

/var/www/mywebsite

public function getRootUrl ($absolute = false, $script = false)

Возвращает основной URL фреймворка.

Параметры

  • $absolute

    Флаг возврата абсолютного URL. По умолчанию (false) метод возвращает относительный URL фреймворка.

  • $script

    Флаг включения в URL фреймворка фрагмента index.php. Флаг работает, только если в конфигурационном файле wa-config/config.php включен параметр mod_rewrite.

Пример

wa()->getConfig()->getRootUrl()

Результат

/

Пример

wa()->getConfig()->getRootUrl(true)

Результат

https://mydomain.ru/

public static function isDebug()

Возвращает статус включения режима отладки.

Пример

$debug_mode_enabled = waSystemConfig::isDebug();

public static function systemOption ($name)

Возвращает значение системного параметра конфигурации.

Параметры

  • $name

    Имя параметра в конфигурационном файле wa-config/config.php.

Пример

$mod_rewrite_enabled = waSystemConfig::systemOption('mod_rewrite');

public function getAppsPath ($app, $path = null)

Возвращает путь к директории с файлами приложения.

Параметры

  • $app

    Идентификатор приложения.

  • $path

    Относительный путь к поддиректории с исходным кодом приложения. Если значение не указано, метод возвращает путь к корневой директории с файлами приложения.

Пример

wa()->getConfig()->getAppsPath('shop', 'plugins');

Результат

/var/www/wa-apps/shop/plugins

public function getRouting()

Возвращает содержимое файла конфигурации маршрутизации фронтенда, применяемого для текущего экземпляра класса конфигурации.

Пример

//конфигурация маршрутизации приложения 'site'
wa('site')->getConfig()->getRouting();

Результат

[
    'login/' => 'login/',
    'forgotpassword/' => 'forgotpassword/',
    'signup/' => 'signup/',
    'data/regions/' => 'frontend/regions',
    'my/' => [
      'module' => 'frontend',
      'action' => 'my',
      'secure' => true,
    ],
    '<url>' => 'frontend/',
]</url>

Пример

//конфигурация маршрутизации всех поселений сайтов
wa('wa-system')->getConfig()->getRouting();

Результат

[
    'mydomain.ru' => [
        22 => [
            'url' => 'blog/*',
            'app' => 'blog',
            'theme' => 'default',
            'theme_mobile' => 'default',
            'locale' => 'ru_RU',
            'blog_url_type' => '2',
            'post_url_type' => '0',
            'title_type' => 'blog_post',
            'title' => 'TITLE',
            'meta_keywords' => 'KEYWORDS',
            'meta_description' => 'DESCRIPTION',
            'rss_title' => '0',
        ],
        23 => [
            'url' => 'info/*',
            'app' => 'site',
            'theme' => 'hypermarket',
            'theme_mobile' => 'mobile',
            'locale' => 'ru_RU',
        ],
        24 => [
            'url' => '*',
            'app' => 'shop',
            'theme' => 'default',
            'theme_mobile' => 'default',
            'checkout_version' => '2',
            'locale' => 'ru_RU',
            'title' => '',
            'meta_keywords' => '',
            'meta_description' => '',
            'og_title' => '',
            'og_image' => '',
            'og_video' => '',
            'og_description' => '',
            'og_type' => '',
            'og_url' => '',
            'url_type' => '0',
            'products_per_page' => '',
            'type_id' => '0',
            'currency' => 'RUB',
            'public_stocks' => '0',
            'drop_out_of_stock' => '0',
            'payment_id' => '0',
            'shipping_id' => '0',
            'checkout_storefront_id' => '41c1fb59db445e1b2aa68102f56e161e',
        ],
    ],
    'mydomain2.ru' => [
        // ...
    ],
]