Класс yii\authclient\widgets\AuthChoice
| Наследование | yii\authclient\widgets\AuthChoice » yii\base\Widget » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\base\ViewContextInterface |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2-authclient/blob/master/widgets/AuthChoice.php |
AuthChoice отображает кнопки для аутентификации через различные поставщики аутентификации.
Он открывает всплывающее окно для процесса аутентификации клиента. По умолчанию этот виджет полагается на наличие компонента yii\authclient\Collection среди компонентов приложения для получения информации о поставщиках аутентификации.
Пример:
<?= yii\authclient\widgets\AuthChoice::widget([
'baseAuthUrl' => ['site/auth']
]); ?>
Вы можете настроить внешний вид виджета, используя синтаксис begin() и end() вместе с использованием метода clientLink() или createClientUrl(). Например:
<?php
use yii\authclient\widgets\AuthChoice;
?>
<?php $authAuthChoice = AuthChoice::begin([
'baseAuthUrl' => ['site/auth']
]); ?>
<ul>
<?php foreach ($authAuthChoice->getClients() as $client): ?>
<li><?= $authAuthChoice->clientLink($client) ?></li>
<?php endforeach; ?>
</ul>
<?php AuthChoice::end(); ?>
Этот виджет поддерживает следующие ключи для результата yii\authclient\ClientInterface::getViewOptions():
- popupWidth: int, ширина всплывающего окна в пикселях.
- popupHeight: int, высота всплывающего окна в пикселях.
- widget: массив, конфигурация для виджета, который должен использоваться для отображения ссылки клиента; такой виджет должен быть подклассом yii\authclient\widgets\AuthChoiceItem.
См. также yii\authclient\AuthAction.
Свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $autoIdPrefix | string | Префикс для автоматически сгенерированных идентификаторов виджета. | yii\base\Widget |
| $autoRender | boolean | Указывает, нужно ли автоматически рендерить содержимое виджета. | yii\authclient\widgets\AuthChoice |
| $baseAuthUrl | массив | Конфигурация базового URL аутентификации. | yii\authclient\widgets\AuthChoice |
| $behaviors | yii\base\Behavior[] | Список прикрепленных к этому компоненту поведений. | yii\base\Component |
| $clientCollection | string | Имя компонента коллекции поставщиков аутентификации приложения. | yii\authclient\widgets\AuthChoice |
| $clientIdGetParamName | string | Имя параметра GET, который должен использоваться для передачи идентификатора поставщика аутентификации в URL, определённый свойством $baseAuthUrl. | yii\authclient\widgets\AuthChoice |
| $clientOptions | массив | Дополнительные параметры, передаваемые в основной JS-плагин. | yii\authclient\widgets\AuthChoice |
| $clients | yii\authclient\ClientInterface[] | Поставщики аутентификации | yii\authclient\widgets\AuthChoice |
| $counter | целое число | Счётчик, используемый для генерации $id для виджетов. | yii\base\Widget |
| $id | строка | Идентификатор виджета. | yii\base\Widget |
| $options | массив | Атрибуты HTML, которые должны быть отображены в теге div, представляющем контейнерный элемент. | yii\authclient\widgets\AuthChoice |
| $popupMode | boolean | Указывает, нужно ли использовать всплывающее окно вместо прямых ссылок. | yii\authclient\widgets\AuthChoice |
| $stack | yii\base\Widget[] | Виджеты, которые в настоящее время отображаются (не завершены). | yii\base\Widget |
| $view | yii\web\View | Объект представления, который может использоваться для отображения представлений или файлов представления. | yii\base\Widget |
| $viewPath | строка | Директория, содержащая файлы представления для этого виджета. | yii\base\Widget |
Методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| afterRun() | Этот метод вызывается сразу после выполнения виджета. | yii\base\Widget |
| attachBehavior() | Присоединяет поведение к данному компоненту. | yii\base\Component |
| attachBehaviors() | Присоединяет список поведений к компоненту. | yii\base\Component |
| beforeRun() | Этот метод вызывается непосредственно перед выполнением виджета. | yii\base\Widget |
| begin() | Начало работы виджета. | yii\base\Widget |
| behaviors() | Возвращает список поведений, по которым должен работать данный компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли считать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| clientLink() | Выводит ссылку клиента для авторизации. | yii\authclient\widgets\AuthChoice |
| createClientUrl() | Составляет URL для авторизации клиента. | yii\authclient\widgets\AuthChoice |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| end() | Окончание работы виджета. | yii\base\Widget |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| getBaseAuthUrl() | yii\authclient\widgets\AuthChoice | |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все присоединенные к этому компоненту поведения. | yii\base\Component |
| getClients() | yii\authclient\widgets\AuthChoice | |
| getId() | Возвращает идентификатор виджета. | yii\base\Widget |
| getView() | Возвращает объект представления, который можно использовать для рендеринга представлений или файлов представления. | yii\base\Widget |
| getViewPath() | Возвращает директорию, содержащую файлы представления для этого виджета. | yii\base\Widget |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, присоединенный к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует виджет. | yii\authclient\widgets\AuthChoice |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| render() | Рендерит представление. | yii\base\Widget |
| renderFile() | Рендерит файл представления. | yii\base\Widget |
| run() | Выполняет виджет. | yii\authclient\widgets\AuthChoice |
| setBaseAuthUrl() | yii\authclient\widgets\AuthChoice | |
| setClients() | yii\authclient\widgets\AuthChoice | |
| setId() | Устанавливает идентификатор виджета. | yii\base\Widget |
| setView() | Устанавливает объект представления, который будет использоваться этим виджетом. | yii\base\Widget |
| trigger() | Вызывает событие. | yii\base\Component |
| widget() | Создает экземпляр виджета и запускает его. | yii\base\Widget |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| defaultBaseAuthUrl() | Составляет конфигурацию по умолчанию для базового URL авторизации. | yii\authclient\widgets\AuthChoice |
| defaultClients() | Возвращает список клиентов авторизации по умолчанию. | yii\authclient\widgets\AuthChoice |
| renderMainContent() | Рендерит основное содержимое, которое включает все ссылки на внешние сервисы. | yii\authclient\widgets\AuthChoice |
События
| Событие | Тип | Описание | Определено |
|---|---|---|---|
| EVENT_AFTER_RUN | yii\base\WidgetEvent | Событие, генерируемое сразу после выполнения виджета. (доступно с версии 2.0.11) | yii\base\Widget |
| EVENT_BEFORE_RUN | yii\base\WidgetEvent | Событие, генерируемое непосредственно перед выполнением виджета. (доступно с версии 2.0.11) | yii\base\Widget |
| EVENT_INIT | yii\base\Event | Событие, срабатывающее при инициализации виджета через init(). (доступно с версии 2.0.11) | yii\base\Widget |
Подробности свойств
$autoRender общественное свойство
Указывает, должен ли контент виджета отображаться автоматически. Примечание: это значение автоматически устанавливается в 'false' при первом вызове createClientUrl().
public boolean $autoRender = true
$baseAuthUrl общественное свойство
Конфигурация базового URL авторизации.
public array getBaseAuthUrl ( )
public void setBaseAuthUrl ( array $baseAuthUrl )
$clientCollection общественное свойство
Имя компонента приложения для коллекции клиентов авторизации. Этот компонент будет использоваться для извлечения значений сервисов, если они не заданы.
public string $clientCollection = 'authClientCollection'
$clientIdGetParamName общественное свойство
Имя параметра GET, которое должно использоваться для передачи идентификатора клиента авторизации в URL, определенный $baseAuthUrl.
public string $clientIdGetParamName = 'authclient'
$clientOptions общественное свойство
Дополнительные параметры, которые нужно передать в базовый JS-плагин.
public array $clientOptions = []
$clients общественное свойство
Поставщики авторизации
public yii\authclient\ClientInterface[] getClients ( )
public void setClients ( array $clients )
$options общественное свойство
Атрибуты HTML, которые должны быть отображены в теге div, представляющем контейнерный элемент.
См. также yii\helpers\Html::renderTagAttributes() для получения подробностей об отображении атрибутов.
public array $options = []
$popupMode общественное свойство
Указывает, следует ли использовать всплывающее окно вместо прямых ссылок.
public boolean $popupMode = true
Подробности методов
clientLink() общественный метод
Выводит ссылку на клиента авторизации.
| public строка clientLink ( $client, $text = null, массив $htmlOptions = [] ) | ||
|---|---|---|
| $client | yii\authclient\ClientInterface |
Экземпляр внешнего клиента авторизации. |
| $text | строка |
Текст ссылки, если не указано — будет сгенерировано значение по умолчанию. |
| $htmlOptions | массив |
Параметры HTML для ссылки. |
| возвращает | строка |
Сгенерированный HTML. |
| бросает | yii\base\InvalidConfigException |
при неправильной конфигурации. |
createClientUrl() общественный метод
Создаёт URL клиента авторизации.
| public строка createClientUrl ( $client ) | ||
|---|---|---|
| $client | yii\authclient\ClientInterface |
Экземпляр внешнего клиента авторизации. |
| возвращает | строка |
URL авторизации. |
defaultBaseAuthUrl() защищённый метод
Создаёт конфигурацию базового URL авторизации по умолчанию.
| protected массив defaultBaseAuthUrl ( ) | ||
|---|---|---|
| возвращает | массив |
Конфигурация базового URL авторизации. |
defaultClients() защищённый метод
Возвращает список клиентов авторизации по умолчанию.
| protected yii\authclient\ClientInterface[] defaultClients ( ) | ||
|---|---|---|
| возвращает | yii\authclient\ClientInterface[] |
Список клиентов авторизации. |
getBaseAuthUrl() общественный метод
| public массив getBaseAuthUrl ( ) | ||
|---|---|---|
| возвращает | массив |
Конфигурация базового URL авторизации. |
getClients() общественный метод
| public yii\authclient\ClientInterface[] getClients ( ) | ||
|---|---|---|
| возвращает | yii\authclient\ClientInterface[] |
Поставщики авторизации |
init() общественный метод
Инициализирует виджет.
| public void init ( ) |
|---|
renderMainContent() защищённый метод
Отображает основное содержимое, которое включает все внешние ссылки служб.
| protected строка renderMainContent ( ) | ||
|---|---|---|
| возвращает | строка |
Сгенерированный HTML. |
run() общественный метод
Выполняет виджет.
| public строка run ( ) | ||
|---|---|---|
| возвращает | строка |
Отображенный HTML. |
setBaseAuthUrl() общественный метод
| public void setBaseAuthUrl ( массив $baseAuthUrl ) | ||
|---|---|---|
| $baseAuthUrl | массив |
Конфигурация базового URL авторизации. |
setClients() общественный метод
| public void setClients ( массив $clients ) | ||
|---|---|---|
| $clients | yii\authclient\ClientInterface[] |
Поставщики авторизации |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-authclient-widgets-authchoice.html