waSystem

Основной системный класс фреймворка

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

Методы

  • accountName

    Возвращает имя аккаунта, сохраненное в настройках «Инсталлера».

  • appExists

    Определяет наличие установленного приложения с указанным идентификатором.

  • getApp

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

  • getAppInfo

    Возвращает информацию об указанном приложении из файла wa-apps/[app_id]/lib/config/app.php.

  • getAppPath

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

  • getAppStaticUrl

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

  • getAppUrl

    Возвращает относительный URL основной страницы бекенда указанного приложения.

  • getConfig

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

  • getConfigPath

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

  • getDataPath

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

  • getDataUrl

    Возвращает URL директории, предназначенной для хранения пользовательских данных указанного приложения.

  • getEnv

    Определяет тип пользовательского запроса: backend либо frontend.

  • getInstance

    Возвращает экземпляр основного системного класса фреймворка.

  • getLocale

    Возвращает локаль текущего пользователя.

  • getResponse

    Возвращает экземпляр класса, предназначенного для формирования ответа на запрос пользователя.

  • getRootUrl

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

  • getRouteUrl

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

  • getSetting

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

  • getStorage

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

  • getTempPath

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

  • getUrl

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

  • getUser

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

  • getVersion

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

  • getView

    Возвращает экземпляр класса, предназначенного для формирования веб-страниц.

  • setLocale

    Устанавливает указанную локаль для текущей динамической конфигурации фреймворка.

public function accountName()

Возвращает имя аккаунта, сохраненное в настройках «Инсталлера».

Пример

wa()->accountName()

Результат

Webasyst

public function appExists ($app_id)

Определяет наличие установленного приложения с указанным идентификатором.

Параметры

  • $app_id

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

Пример

wa()->appExists('someapp')

Результат

false //приложение с идентификатором 'someapp' не установлено

public static function getApp()

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

Пример

wa()->getApp()

Результат

myapp //вызов метода getApp выполнен в исходном коде приложения с идентификатором 'myapp' — это приложение в данном случае является активным

public function getAppInfo ($app_id = null)

Возвращает информацию об указанном приложении из файла wa-apps/[app_id]/lib/config/app.php.

Параметры

  • $app_id

    Необязательный идентификатор приложения. Если не указан, то используется идентификатор текущего приложения.

Пример

wa()->getAppInfo('blog')

Результат

Array
(
    [name] => Блог
    [icon] => Array
        (
            [16] => wa-apps/blog/img/blog16.png
            [24] => wa-apps/blog/img/blog24.png
            [48] => wa-apps/blog/img/blog.png
            [96] => wa-apps/blog/img/blog96.png
        )

    [rights] => 1
    [frontend] => 1
    [auth] => 1
    [themes] => 1
    [plugins] => 1
    [pages] => 1
    [mobile] => 1
    [version] => 1.2.0
    [critical] => 1.0.0
    [vendor] => webasyst
    [csrf] => 1
    [build] => 27730
    [id] => blog
    [img] => wa-apps/blog/img/blog.png
)

public function getAppPath ($path = null, $app_id = null)

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

Параметры

  • $path

    Необязательный путь к поддиректории внутри основной директории с файлами исходного кода приложения.

  • $app_id

    Необязательный идентификатор приложения. Если не указан, то используется идентификатор текущего приложения.

Пример

wa()->getAppPath('templates', 'blog')

Результат

/var/www/wa-apps/blog/templates

public function getAppStaticUrl ($app = null, $absolute = false)

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

Параметры

  • $app

    Необязательный идентификатор приложения. Если не указан, то используется идентификатор текущего приложения.

  • $absolute

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

Пример

wa()->getAppStaticUrl('blog', true)

Результат

http://yourdomain.ru/wa-apps/blog/

public function getAppUrl ($app = null, $script = false)

Возвращает относительный URL основной страницы бекенда указанного приложения.

Параметры

  • $app

    Необязательный идентификатор приложения. Если не указан, то используется идентификатор текущего приложения.

  • $script

    Флаг, обозначающий необходимость вернуть URL с фрагментом index.php/ в случае, если на сервере не работает модуль mod_rewrite (или аналогичный механизм) для формирования ЧПУ.

Пример

wa()->getAppUrl('blog')

Результат

/webasyst/blog/

public function getConfig()

Возвращает экземпляр класса конфигурации (waSystemConfig либо waAppConfig).

Пример

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

Результат

/var/www

public function getConfigPath ($app_id = null)

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

Параметры

  • $app_id

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

Пример

wa()->getConfigPath('blog')

Результат

/var/www/wa-config/apps/blog

public function getDataPath ($path = null, $public = false, $app_id = null, $create = true)

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

Параметры

  • $path

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

  • $public

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

  • $app_id

    Необязательный идентификатор приложения. Если не указан, то используется идентификатор текущего приложения.

  • $create

    Флаг обозначающий необходимость создать директории по пути, указанному в параметре $path в случае их отсутствия. Отсутствующие дирекотрии создаются по умолчанию, если не указано значение false.

Пример

wa()->getDataPath('themes', true, 'blog')

Результат

/var/www/wa-data/public/blog/themes

public function getDataUrl ($path = null, $public = false, $app_id = null, $absolute = false)

Возвращает URL директории, предназначенной для хранения пользовательских данных указанного приложения.

Параметры

  • $path

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

  • $public

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

  • $app_id

    Необязательный идентификатор приложения. Если не указан, то используется идентификатор текущего приложения.

  • $absolute

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

Пример

wa()->getDataUrl('themes', true, 'blog', true)

Результат

http://yourdomain.ru/wa-data/public/blog/themes

public function getEnv()

Определяет тип пользовательского запроса: backend либо frontend.

Пример

wa()->getEnv()

Результат

backend //метод getEnv вызван в исходном коде экшена или контроллера бекенда

public static function getInstance ($name = null, waSystemConfig $config = null, $set_current = false)

Возвращает экземпляр основного системного класса фреймворка. Сокращенный вариант вызова метода — с помощью функции wa().

Параметры

  • $name

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

Пример

waSystem::getInstance()->accountName() //полная запись
wa()->accountName() //сокращенная запись

Пример

waSystem::getInstance()->getConfig()->getApplication() //вызов метода вернет идентификатор текущего приложения
waSystem::getInstance('blog')->getConfig()->getApplication() //вызов метода вернет идентификатор указанного приложения: 'blog'

public function getLocale()

Возвращает локаль текущего пользователя.

Пример

wa()->getLocale()

Результат

ru_RU

public function getResponse()

Возвращает экземпляр класса, предназначенного для формирования ответа на запрос пользователя (waResponse).

Пример

wa()->getResponse()->redirect('http://otherdomain.ru')

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

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

Параметры

  • $absolute

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

  • $script

    Флаг, обозначающий необходимость вернуть URL с фрагментом index.php/ в случае, если на сервере не работает модуль mod_rewrite (или аналогичный механизм) для формирования ЧПУ.

Пример

wa()->getRootUrl(true)

Результат

http://yourdomain.ru/

public function getRouteUrl ($path, $params = array(), $absolute = false, $domain = null, $route = null)

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

Параметры

  • $path

    Идентификаторы приложения, модуля и экшена, разделенные косой чертой (/).

  • $params

    Ассоциативный массив необязательных параметров со следующими элементами:

    • 'domain': домен, указанный в настройках одного из сайтов, настроенных во фреймворке
    • 'module': идентификатор модуля
    • 'action': идентификатор экшена
    • динамические параметры URL, описанные в файле routing.php приложения для указанного сочетания модуля и экшена; например, для следующего сочетания таким динамическим параметром является category_url:
      'category/<category_url>/' => 'frontend/category',

    Если модуль и экшен указаны в этом массиве дополнительных параметров, то указывать их в первом (строковом) параметре метода не нужно.

  • $absolute

    Флаг, обозначающий необходимость вернуть абсолютный URL вместо относительного.

  • $domain

    Адрес сайта, с учетом которого нужно сформировать URL.

  • $route

    Адрес правила маршрутизации, с учетом которого нужно сформировать URL.

Пример

wa()->getRouteUrl('shop/frontend/cart'); //получаем URL, соответствующий правилу маршрутизации в файле routing.php приложения с идентификатором 'shop'

Результат

/cart/ — поселение приложения с идентификатором 'shop' настроено на корневую директорию домена
/shop/cart/ — поселение приложения с идентификатором 'shop' настроено на поддиректорию 'shop/'

Пример

$params = array(
    'domain' => 'yourdomain.ru', //если во фреймворке настроено несколько сайтов, указываем домен сайта, маршрутизацию которого необходимо учитывать для формирования URL
    'tag'    => 'sony',  //динамический параметр URL
);
wa()->getRouteUrl('shop/frontend/tag', $params, true);

Результат

http://yourdomain.ru/tag/sony/

Пример

$params = array(
    'domain' => 'yourdomain.ru',
    'module' => 'frontend',
    'action' => 'tag',
    'tag'    => 'sony',
);
wa()->getRouteUrl('shop', $params, true); //модуль и экшен указаны в массиве дополнительных параметров, поэтому первый параметр метода содержит только идентификатор приложения

Результат

http://yourdomain.ru/tag/sony/

public static function getSetting ($name, $default = '', $app_id = null)

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

Параметры

  • $name

    Строковый идентификатор поля настроек.

  • $default

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

  • $app_id

    Необязательный идентификатор приложения. Если не указан, то используется идентификатор текущего приложения.

Пример

wa()->getSetting('currency', 'USD', 'shop')

Результат

RUB //в качестве валюты по умолчанию в интернет-магазине выбран российский рубль

public function getStorage()

Возвращает экземпляр класса, предназначенного для управления сессиями пользователей (waSessionStorage).

Пример

wa()->getStorage()->getAll()

public function getTempPath ($path = null, $app_id = null)

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

Параметры

  • $path

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

  • $app_id

    Необязательный идентификатор приложения. Если не указан, то используется идентификатор текущего приложения.

Пример

wa()->getTempPath(null, 'blog')

Результат

/var/www/wa-cache/temp/blog

public function getUrl ($absolute = false)

Возвращает основной URL текущего раздела фронтенда или бекенда. При обработке запроса через фронтенд метод возвращает корневой URL установки фреймворка. При обработке запрос через бекенд возвращает корневой URL бекенда приложения, обрабатывающего запрос.

Параметры

  • $absolute

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

Пример

wa()->getUrl(true)

Результат

http://yourdomain/webasyst/myapp/ //метод getUrl вызван в исходном коде приложения с идентификатором 'myapp'

public function getUser()

Возвращает экземпляр класса, предназначенного для доступа к информации о пользователе (waAuthUser, waUser либо waContact).

Пример

wa()->getUser()->getId()

public function getVersion ($app_id = null)

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

Параметры

  • $app_id

    Необязательный идентификатор приложения. Если не указан, то используется идентификатор текущего приложения.

Пример

wa()->getVersion('photos')

Результат

1.1.0.27730

public function getView ($options = array())

Возвращает экземпляр класса, предназначенного для формирования веб-страниц — шаблонизатора. По умолчанию используется класс waSmarty3View, реализующий функциональность Smarty. Об использовании альтернативных шаблонизаторов »

Параметры

  • $options

    Массив параметров для инициализации экземпляра класса шаблонизатора.

Пример

wa()->getView()->assign('myvar', $value)
$this->view->assign('myvar', $value) //экземпляр класса шаблонизатора доступен в поле 'view' экземпляров классов waViewAction и waViewActions.

public function setLocale ($locale)

Устанавливает указанную локаль для текущей динамической конфигурации фреймворка.

Параметры

  • $locale

    Идентификатор локали, которую необходимо установить в своствах динамической конфигурации фреймворка.

Пример

wa()->setLocale('en_US')