Класс yii\sphinx\gii\model\Generator
| Наследование | yii\sphinx\gii\model\Generator » yii\gii\Generator » yii\base\Model » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | ArrayAccess, IteratorAggregate, yii\base\Arrayable, yii\base\Configurable |
| Использует Трейты | yii\base\ArrayableTrait |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2-sphinx/blob/master/gii/model/Generator.php |
Этот генератор создаст один или несколько классов ActiveRecord для указанного индекса Sphinx.
Публичные свойства
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __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 |
| activeAttributes() | Возвращает имена атрибутов, которые подлежат валидации в текущем сценарии. | yii\base\Model |
| addError() | Добавляет новую ошибку к указанному атрибуту. | yii\base\Model |
| addErrors() | Добавляет список ошибок. | yii\base\Model |
| afterValidate() | Этот метод вызывается после завершения валидации. | yii\base\Model |
| attachBehavior() | Прикрепляет поведение к данному компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| attributeHints() | Возвращает подсказки к атрибутам. | yii\base\Model |
| attributeLabels() | Возвращает метки атрибутов. | yii\sphinx\gii\model\Generator |
| attributes() | Возвращает список имён атрибутов. | yii\base\Model |
| autoCompleteData() | Возвращает список значений автозаполнения. | yii\sphinx\gii\model\Generator |
| beforeValidate() | Этот метод вызывается перед началом валидации. | yii\base\Model |
| behaviors() | Возвращает список поведений, которые должен иметь этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное имя класса. | yii\base\Object |
| clearErrors() | Удаляет ошибки для всех атрибутов или одного атрибута. | yii\base\Model |
| createValidators() | Создаёт объекты валидаторов на основе правил валидации, указанных в rules(). | yii\base\Model |
| defaultTemplate() | Возвращает корневой путь к файлам шаблонов по умолчанию. | yii\gii\Generator |
| detachBehavior() | Открепляет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Открепляет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| extraFields() | Возвращает список полей, которые можно дополнительно расширить и вернуть методом toArray(). | yii\base\ArrayableTrait |
| fields() | Возвращает список полей, которые должны возвращаться по умолчанию методом toArray(), если нет указанных конкретных полей. | yii\base\ArrayableTrait |
| formName() | Возвращает имя формы, которое должен использовать этот класс модели. | yii\base\Model |
| formView() | Возвращает файл представления для формы ввода генератора. | yii\gii\Generator |
| generate() | Генерирует код на основе текущего ввода пользователя и указанных файлов шаблонов. | yii\sphinx\gii\model\Generator |
| generateAttributeLabel() | Генерирует удобочитаемую метку атрибута на основе имени атрибута. | yii\base\Model |
| generateIndexName() | Генерирует имя таблицы, учитывая префикс таблицы. | yii\sphinx\gii\model\Generator |
| generateLabels() | Генерирует метки атрибутов для указанной таблицы. | yii\sphinx\gii\model\Generator |
| generateRules() | Генерирует правила валидации для указанного индекса. | yii\sphinx\gii\model\Generator |
| generateString() | Генерирует строку, в зависимости от свойства enableI18N. | yii\gii\Generator |
| getActiveValidators() | Возвращает валидаторы, применимые к текущему $scenario. | yii\base\Model |
| getAttributeHint() | Возвращает текстовую подсказку для указанного атрибута. | yii\base\Model |
| getAttributeLabel() | Возвращает текстовую метку для указанного атрибута. | yii\base\Model |
| getAttributes() | Возвращает значения атрибутов. | yii\base\Model |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все поведения, прикреплённые к этому компоненту. | yii\base\Component |
| getDescription() | yii\sphinx\gii\model\Generator | |
| getErrors() | Возвращает ошибки для всех атрибутов или одного атрибута. | yii\base\Model |
| getFirstError() | Возвращает первую ошибку указанного атрибута. | yii\base\Model |
| getFirstErrors() | Возвращает первую ошибку каждого атрибута в модели. | yii\base\Model |
| getIterator() | Возвращает итератор для обхода атрибутов в модели. | yii\base\Model |
| getName() | yii\sphinx\gii\model\Generator | |
| getScenario() | Возвращает сценарий, в котором используется эта модель. | yii\base\Model |
| getStickyDataFile() | yii\gii\Generator | |
| getTemplatePath() | yii\gii\Generator | |
| getValidators() | Возвращает все валидаторы, объявленные в rules(). | yii\base\Model |
| hasErrors() | Возвращает значение, указывающее, есть ли какие-либо ошибки валидации. | yii\base\Model |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, присоединённый к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определён ли свойство. | yii\base\Object |
| hints() | Возвращает список сообщений подсказок. | yii\sphinx\gii\model\Generator |
| init() | Инициализирует объект. | yii\gii\Generator |
| isAttributeActive() | Возвращает значение, указывающее, активна ли атрибут в текущем сценарии. | yii\base\Model |
| isAttributeRequired() | Возвращает значение, указывающее, обязателен ли атрибут. | yii\base\Model |
| isAttributeSafe() | Возвращает значение, указывающее, безопасен ли атрибут для массового назначения. | yii\base\Model |
| isReservedKeyword() | yii\gii\Generator | |
| load() | Заполняет модель данными ввода. | yii\base\Model |
| loadMultiple() | Заполняет набор моделей данными от пользователя. | yii\base\Model |
| loadStickyAttributes() | Загружает сохранённые атрибуты из внутреннего файла и заполняет ими генератор. | yii\gii\Generator |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| offsetExists() | Возвращает, существует ли элемент по указанному смещению. | yii\base\Model |
| offsetGet() | Возвращает элемент по указанному смещению. | yii\base\Model |
| offsetSet() | Устанавливает элемент по указанному смещению. | yii\base\Model |
| offsetUnset() | Устанавливает значение элемента по указанному смещению в null. | yii\base\Model |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| onUnsafeAttribute() | Этот метод вызывается, когда атрибут небезопасен, и его значение массово назначается. | yii\base\Model |
| render() | Генерирует код, используя указанную шаблонную файлв и параметры. | yii\gii\Generator |
| requiredTemplates() | Возвращает список файлов шаблонов кода, которые требуются. | yii\sphinx\gii\model\Generator |
| rules() | Возвращает правила валидации для атрибутов. | yii\sphinx\gii\model\Generator |
| safeAttributes() | Возвращает имена атрибутов, которые безопасны для массового назначения в текущем сценарии. | yii\base\Model |
| save() | Сохраняет сгенерированный код в файлы. | yii\gii\Generator |
| saveStickyAttributes() | Сохраняет сохранённые атрибуты во внутренний файл. | yii\gii\Generator |
| scenarios() | Возвращает список сценариев и соответствующих активных атрибутов. | yii\base\Model |
| setAttributes() | Устанавливает значения атрибутов массовым способом. | yii\base\Model |
| setScenario() | Устанавливает сценарий для модели. | yii\base\Model |
| stickyAttributes() | Возвращает список сохранённых атрибутов. | yii\sphinx\gii\model\Generator |
| successMessage() | Возвращает сообщение, которое будет отображено, когда успешно сохранён новый сгенерированный код. | yii\gii\Generator |
| toArray() | Преобразует модель в массив. | yii\base\ArrayableTrait |
| trigger() | Вызывает событие. | yii\base\Component |
| validate() | Выполняет валидацию данных. | yii\base\Model |
| validateClass() | Встроенный валидатор, проверяющий, ссылается ли значение атрибута на существующее имя класса. | yii\gii\Generator |
| validateDb() | Проверяет атрибут $db. | yii\sphinx\gii\model\Generator |
| validateIndexName() | Проверяет атрибут $indexName. | yii\sphinx\gii\model\Generator |
| validateMessageCategory() | Проверяет, не пуста ли категория сообщений, когда включена I18N. | yii\gii\Generator |
| validateModelClass() | Проверяет атрибут $modelClass. | yii\sphinx\gii\model\Generator |
| validateMultiple() | Проверяет несколько моделей. | yii\base\Model |
| validateNamespace() | Проверяет атрибут $ns. | yii\sphinx\gii\model\Generator |
| validateNewClass() | Встроенный валидатор, проверяющий, является ли значение атрибута допустимым именем класса с пространством имён. | yii\gii\Generator |
| validateTemplate() | Проверяет выбор шаблона. | yii\gii\Generator |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| generateClassName() | Генерирует имя класса из указанного имени таблицы. | yii\sphinx\gii\model\Generator |
| getDbConnection() | yii\sphinx\gii\model\Generator | |
| getIndexNames() | yii\sphinx\gii\model\Generator | |
| resolveFields() | Определяет, какие поля могут быть возвращены методом toArray(). | yii\base\ArrayableTrait |
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| EVENT_AFTER_VALIDATE | yii\base\Event | Событие, срабатывающее в конце метода validate() | yii\base\Model |
| EVENT_BEFORE_VALIDATE | yii\base\ModelEvent | Событие, срабатывающее в начале метода validate(). | yii\base\Model |
Константы
| Константа | Значение | Описание | Определено в |
|---|---|---|---|
| SCENARIO_DEFAULT | 'default' | Имя сценария по умолчанию. | yii\base\Model |
Подробное описание свойств
$baseClass общедоступное свойство
public $baseClass = 'yii\sphinx\ActiveRecord' $db общедоступное свойство
public $db = 'sphinx' $description общедоступное только для чтения свойство
Подробное описание генератора.
public string getDescription ( )
$indexName общедоступное свойство
public $indexName = null $modelClass общедоступное свойство
public $modelClass = null $name общедоступное только для чтения свойство
Имя генератора кода
public string getName ( )
$ns общедоступное свойство
public $ns = 'app\models' $useIndexPrefix общедоступное свойство
public $useIndexPrefix = false Подробное описание методов
attributeLabels() public method
Возвращает метки атрибутов.
Метки атрибутов в основном используются для отображения. Например, для атрибута firstName, можно объявить более удобную для пользователя метку First Name, которая может отображаться конечным пользователям.
По умолчанию метка атрибута генерируется с помощью generateAttributeLabel(). Этот метод позволяет явно указать метки атрибутов.
Обратите внимание, чтобы унаследовать метки, определенные в родительском классе, дочерний класс должен объединить родительские метки с дочерними, используя функции, такие как array_merge().
| public array attributeLabels ( ) | ||
|---|---|---|
| return | array |
Метки атрибутов (имя => метка) |
autoCompleteData() public method
Возвращает список значений автозаполнения.
Ключи массива — имена атрибутов, а значения — соответствующие значения автозаполнения. Значения автозаполнения также могут быть вызываемыми типами, чтобы отложенно генерировать данные.
| public array autoCompleteData ( ) | ||
|---|---|---|
| return | array |
Список значений автозаполнения |
generate() public method
Генерирует код на основе текущего пользовательского ввода и указанных файлов шаблонов кода.
Это основной метод, который должны реализовывать дочерние классы. Обратитесь к yii\gii\generators\controller\Generator::generate() в качестве примера реализации этого метода.
| public yii\gii\CodeFile[] generate ( ) | ||
|---|---|---|
| return | yii\gii\CodeFile[] |
Список файлов кода, которые нужно создать. |
generateClassName() protected method
Генерирует имя класса из указанного имени таблицы.
| protected string generateClassName ( $indexName ) | ||
|---|---|---|
| $indexName | string |
Имя таблицы (которое может содержать префикс схемы) |
| return | string |
Сгенерированное имя класса |
generateIndexName() public method
Генерирует имя таблицы, учитывая префикс таблицы.
Если $useIndexPrefix равно false, имя таблицы будет возвращено без изменений.
| public string generateIndexName ( $indexName ) | ||
|---|---|---|
| $indexName | string |
Имя таблицы (которое может содержать префикс схемы) |
| return | string |
Сгенерированное имя таблицы |
generateLabels() public method
Генерирует метки атрибутов для указанной таблицы.
| public array generateLabels ( $table ) | ||
|---|---|---|
| $table | yii\db\TableSchema |
Схема таблицы |
| return | array |
Сгенерированные метки атрибутов (имя => метка) |
generateRules() public method
Генерирует правила валидации для указанного индекса.
| public array generateRules ( $index ) | ||
|---|---|---|
| $index | yii\sphinx\IndexSchema |
Схема индекса |
| return | array |
Сгенерированные правила валидации |
getDbConnection() protected method
| protected yii\sphinx\Connection getDbConnection ( ) | ||
|---|---|---|
| return | yii\sphinx\Connection |
Подключение к Sphinx, заданное $db. |
getDescription() public method
| public string getDescription ( ) | ||
|---|---|---|
| return | string |
Подробное описание генератора. |
getIndexNames() protected method
| protected array getIndexNames ( ) | ||
|---|---|---|
| return | array |
Имена индексов, соответствующие шаблону, заданному $indexName. |
getName() public method
| public string getName ( ) | ||
|---|---|---|
| return | string |
Название генератора кода |
hints() public method
Возвращает список сообщений подсказок.
Ключи массива — имена атрибутов, а значения — соответствующие сообщения подсказок. Сообщения подсказок будут отображаться конечным пользователям при заполнении формы генератора.
| public array hints ( ) | ||
|---|---|---|
| return | array |
Список сообщений подсказок |
requiredTemplates() public method
Возвращает список файлов шаблонов кода, которые необходимы.
Производные классы обычно должны переопределять этот метод, если им требуется существование определенных файлов шаблонов.
| public array requiredTemplates ( ) | ||
|---|---|---|
| return | array |
Список файлов шаблонов кода, которые необходимы. Они должны быть путями к файлам, относительными к $templatePath. |
rules() public method
Возвращает правила валидации для атрибутов.
Правила валидации используются методом validate() для проверки, являются ли значения атрибутов допустимыми. Дочерние классы могут переопределять этот метод для объявления различных правил валидации.
Каждое правило представляет собой массив со следующим структурой:
[
['attribute1', 'attribute2'],
'validator type',
'on' => ['scenario1', 'scenario2'],
//...other parameters...
]
где
- список атрибутов: обязательный, задает массив атрибутов для проверки; для одного атрибута можно передать строку;
- тип валидатора: обязательный, задает используемый валидатор. Он может быть встроенным именем валидатора, именем метода класса модели, анонимной функцией или именем класса валидатора.
- on: необязательный, задает массив сценариев, в которых правило валидации может быть применено. Если этот параметр не задан, правило будет применяться ко всем сценариям.
- дополнительные пары «имя-значение» могут быть указаны для инициализации соответствующих свойств валидатора. Обратитесь к API индивидуального класса валидатора для возможных свойств.
Валидатор может быть либо объектом класса, наследующего от \yii\sphinx\gii\model\Validator, либо методом класса модели (называемым встроенным валидатором), который имеет следующий синтаксис:
// $params refers to validation parameters given in the rule function validatorName($attribute, $params)
В вышеприведенном $attribute относится к атрибуту, который в настоящее время проверяется, а $params содержит массив параметров конфигурации валидатора, таких как max в случае валидатора string. Значение текущего проверяемого атрибута можно получить как $this->$attribute. Обратите внимание на $ перед attribute; это берет значение переменной $attribute и использует его как имя свойства для доступа.
Yii также предоставляет набор \yii\sphinx\gii\model\Validator::builtInValidators. У каждого из них есть псевдоним, который можно использовать при указании правила валидации.
Ниже приведены несколько примеров:
[
// built-in "required" validator
[['username', 'password'], 'required'],
// built-in "string" validator customized with "min" and "max" properties
['username', 'string', 'min' => 3, 'max' => 12],
// built-in "compare" validator that is used in "register" scenario only
['password', 'compare', 'compareAttribute' => 'password2', 'on' => 'register'],
// an inline validator defined via the "authenticate()" method in the model class
['password', 'authenticate', 'on' => 'login'],
// a validator of class "DateRangeValidator"
['dateRange', 'DateRangeValidator'],
];
Обратите внимание, чтобы унаследовать правила, определенные в родительском классе, дочерний класс должен объединить родительские правила с дочерними, используя функции, такие как array_merge().
Подклассы должны переопределять этот метод следующим образом, чтобы включить родительские правила:
return array_merge(parent::rules(), [
...rules for the child class...
]);
| public массив rules ( ) | ||
|---|---|---|
| return | массив |
Правила валидации |
stickyAttributes() public метод
Возвращает список неизменяемых атрибутов.
Неизменяемый атрибут сохранит своё значение и будет инициализирован этим значением при повторном запуске генератора.
| public массив stickyAttributes ( ) | ||
|---|---|---|
| return | массив |
Список неизменяемых атрибутов |
validateDb() public метод
Проверяет атрибут $db.
| public void validateDb ( ) |
|---|
validateIndexName() public метод
Проверяет атрибут $indexName.
| public void validateIndexName ( ) |
|---|
validateModelClass() public метод
Проверяет атрибут $modelClass.
| public void validateModelClass ( ) |
|---|
validateNamespace() public метод
Проверяет атрибут $ns.
| public void validateNamespace ( ) |
|---|
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-sphinx-gii-model-generator.html