Класс yii\gii\generators\model\Generator
| Наследование | yii\gii\generators\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-gii/blob/master/generators/model/Generator.php |
Этот генератор сгенерирует один или несколько классов ActiveRecord для указанной таблицы базы данных.
Открытые свойства
Защищенные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $classNames | yii\gii\generators\model\Generator | ||
| $tableNames | yii\gii\generators\model\Generator |
Открытые методы
| Метод | Описание | Определено в |
|---|---|---|
| __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\gii\generators\model\Generator |
| attributes() | Возвращает список имён атрибутов. | yii\base\Model |
| autoCompleteData() | Возвращает список значений автозаполнения. | yii\gii\generators\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\gii\generators\model\Generator |
| generateAttributeLabel() | Генерирует понятную пользователю метку атрибута на основе имени атрибута. | yii\base\Model |
| generateLabels() | Генерирует метки атрибутов для указанной таблицы. | yii\gii\generators\model\Generator |
| generateRules() | Генерирует правила валидации для указанной таблицы. | yii\gii\generators\model\Generator |
| generateString() | Генерирует строку в зависимости от свойства enableI18N | yii\gii\Generator |
| generateTableName() | Генерирует имя таблицы, учитывая префикс таблицы. | yii\gii\generators\model\Generator |
| getActiveValidators() | Возвращает валидаторы, применимые к текущему $сценарий. | 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\gii\generators\model\Generator | |
| getErrors() | Возвращает ошибки для всех атрибутов или одного атрибута. | yii\base\Model |
| getFirstError() | Возвращает первую ошибку указанного атрибута. | yii\base\Model |
| getFirstErrors() | Возвращает первую ошибку каждого атрибута в модели. | yii\base\Model |
| getIterator() | Возвращает итератор для обхода атрибутов в модели. | yii\base\Model |
| getName() | yii\gii\generators\model\Generator | |
| getScenario() | Возвращает сценарий, в котором используется данная модель. | yii\base\Model |
| getStickyDataFile() | yii\gii\Generator | |
| getTablePrefix() | Возвращает свойство tablePrefix подключения к БД, как указано | yii\gii\generators\model\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\gii\generators\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\gii\generators\model\Generator |
| rules() | Возвращает правила валидации для атрибутов. | yii\gii\generators\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\gii\generators\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\gii\generators\model\Generator |
| validateMessageCategory() | Проверяет, не пуста ли категория сообщений, когда включен I18N. | yii\gii\Generator |
| validateModelClass() | Проверяет атрибут $modelClass. | yii\gii\generators\model\Generator |
| validateMultiple() | Проверяет несколько моделей. | yii\base\Model |
| validateNamespace() | Проверяет пространство имен. | yii\gii\generators\model\Generator |
| validateNewClass() | Встроенный валидатор, проверяющий, является ли значение атрибута корректным именованным классом в пространстве имен. | yii\gii\Generator |
| validateTableName() | Проверяет атрибут $tableName. | yii\gii\generators\model\Generator |
| validateTemplate() | Проверяет выбор шаблона. | yii\gii\Generator |
Защищенные методы
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| EVENT_AFTER_VALIDATE | yii\base\Event | Событие, срабатывающее в конце validate() | yii\base\Model |
| EVENT_BEFORE_VALIDATE | yii\base\ModelEvent | Событие, срабатывающее в начале validate(). | yii\base\Model |
Константы
| Константа | Значение | Описание | Определено в |
|---|---|---|---|
| RELATIONS_ALL | 'all' | yii\gii\generators\model\Generator | |
| RELATIONS_ALL_INVERSE | 'all-inverse' | yii\gii\generators\model\Generator | |
| RELATIONS_NONE | 'none' | yii\gii\generators\model\Generator | |
| SCENARIO_DEFAULT | 'default' | Имя сценария по умолчанию. | yii\base\Model |
Подробное описание свойств
$baseClass открытое свойство
public $baseClass = 'yii\db\ActiveRecord' $classNames закрытое свойство
protected $classNames = null $db открытое свойство
public $db = 'db' $description открытое только для чтения свойство
Подробное описание генератора.
public string getDescription ( )
$generateLabelsFromComments открытое свойство
public $generateLabelsFromComments = false $generateQuery открытое свойство
public $generateQuery = false $generateRelations открытое свойство
public $generateRelations = self::RELATIONS_ALL $generateRelationsFromCurrentSchema открытое свойство
public $generateRelationsFromCurrentSchema = true $modelClass открытое свойство
public $modelClass = null $name открытое только для чтения свойство
Имя генератора кода
public string getName ( )
$ns открытое свойство
public $ns = 'app\models' $queryBaseClass открытое свойство
public $queryBaseClass = 'yii\db\ActiveQuery' $queryClass открытое свойство
public $queryClass = null $queryNs открытое свойство
public $queryNs = 'app\models' $tableName открытое свойство
public $tableName = null $tableNames закрытое свойство
protected $tableNames = null $tablePrefix открытое только для чтения свойство
public string getTablePrefix ( )
$useSchemaName открытое свойство
public $useSchemaName = true $useTablePrefix открытое свойство
public $useTablePrefix = false Подробное описание методов
addInverseRelations() защищённый метод (доступен начиная с версии 2.0.5)
Добавляет обратные связи
| защищённый массив addInverseRelations ( $relations ) | ||
|---|---|---|
| $relations | массив |
Объявления связей |
| return | массив |
Объявления связей, дополненные именами обратных связей |
attributeLabels() общедоступный метод
Возвращает метки атрибутов.
Метки атрибутов в основном используются для отображения. Например, при наличии атрибута firstName, мы можем объявить метку First Name, которая более удобна для пользователя и может быть отображена конечным пользователям.
По умолчанию метка атрибута генерируется с помощью generateAttributeLabel(). Этот метод позволяет вам явно указать метки атрибутов.
Обратите внимание, чтобы унаследовать метки, определённые в родительском классе, дочерний класс должен объединить родительские метки с дочерними метками, используя функции, такие как array_merge().
| общедоступный массив attributeLabels ( ) | ||
|---|---|---|
| return | массив |
Метки атрибутов (имя => метка) |
autoCompleteData() общедоступный метод
Возвращает список значений автозаполнения.
Ключи массива — это имена атрибутов, а значения массива — соответствующие значения автозаполнения. Значения автозаполнения также могут быть вызовами функций, чтобы можно было отложить генерацию данных.
| общедоступный массив autoCompleteData ( ) | ||
|---|---|---|
| return | массив |
Список значений автозаполнения |
checkJunctionTable() защищённый метод
Проверяет, является ли заданная таблица таблицей соединения, то есть содержит ли она хотя бы одну пару уникальных внешних ключей.
| защищённый массив|булево checkJunctionTable ( $table ) | ||
|---|---|---|
| $table | ||
| return | массив|булево |
Все уникальные пары внешних ключей, если таблица является таблицей соединения, или false, если таблица не является таблицей соединения. |
generate() общедоступный метод
Генерирует код на основе текущего ввода пользователя и указанных файлов шаблонов кода.
Это основной метод, который должны реализовать дочерние классы. Обратитесь к yii\gii\generators\controller\Generator::generate() в качестве примера реализации этого метода.
| общедоступный yii\gii\CodeFile[] generate ( ) | ||
|---|---|---|
| return | yii\gii\CodeFile[] |
Список файлов кода, которые должны быть созданы. |
generateClassName() защищённый метод
Генерирует имя класса из указанного имени таблицы.
| защищённый строка generateClassName ( $tableName, $useSchemaName = null ) | ||
|---|---|---|
| $tableName | строка |
Имя таблицы (которое может содержать префикс схемы) |
| $useSchemaName | булево |
Включать ли имя схемы в имя класса, если оно присутствует |
| return | строка |
Сгенерированное имя класса |
generateLabels() общедоступный метод
Генерирует метки атрибутов для указанной таблицы.
| общедоступный массив generateLabels ( $table ) | ||
|---|---|---|
| $table | yii\db\TableSchema |
Схема таблицы |
| return | массив |
Сгенерированные метки атрибутов (имя => метка) |
generateQueryClassName() защищённый метод
Генерирует имя класса запроса из указанного имени класса модели.
| защищённый строка generateQueryClassName ( $modelClassName ) | ||
|---|---|---|
| $modelClassName | строка |
Имя класса модели |
| return | строка |
Сгенерированное имя класса |
generateRelationLink() защищённый метод
Генерирует параметр ссылки, используемый при генерации объявления связи.
| защищённый строка generateRelationLink ( $refs ) | ||
|---|---|---|
| $refs | массив |
Ограничение ссылки |
| return | строка |
Сгенерированный параметр ссылки. |
generateRelationName() защищённый метод
Генерирует имя связи для указанной таблицы и базового имени.
| защищённый строка generateRelationName ( $relations, $table, $key, $multiple ) | ||
|---|---|---|
| $relations | массив |
Связи, которые генерируются в данный момент. |
| $table | yii\db\TableSchema |
Схема таблицы |
| $key | строка |
Базовое имя, от которого может быть сгенерировано имя связи |
| $multiple | булево |
Является ли это связью "многие-ко-многим" |
| return | строка |
Имя связи |
generateRelations() защищённый метод
| защищённый массив generateRelations ( ) | ||
|---|---|---|
| return | массив |
Сгенерированные объявления связей |
generateRules() общедоступный метод
Генерирует правила валидации для указанной таблицы.
| общедоступный массив generateRules ( $table ) | ||
|---|---|---|
| $table | yii\db\TableSchema |
Схема таблицы |
| return | массив |
Сгенерированные правила валидации |
generateTableName() общедоступный метод
Генерирует имя таблицы, учитывая префикс таблицы.
Если $useTablePrefix равно false, имя таблицы будет возвращено без изменений.
| общедоступный строка generateTableName ( $tableName ) | ||
|---|---|---|
| $tableName | строка |
Имя таблицы (которое может содержать префикс схемы) |
| return | строка |
Сгенерированное имя таблицы |
getDbConnection() защищённый метод
| защищённый yii\db\Connection getDbConnection ( ) | ||
|---|---|---|
| return | yii\db\Connection |
Подключение к базе данных, указанное в $db. |
getDbDriverName() защищённый метод (доступен начиная с версии 2.0.6)
| protected string|null getDbDriverName ( ) | ||
|---|---|---|
| return | string|null |
Имя драйвера подключения к базе данных. В случае, если база данных не является экземпляром \yii\db\Connection, будет возвращено значение null. |
getDescription() public method
| public string getDescription ( ) | ||
|---|---|---|
| return | string |
Подробное описание генератора. |
getName() public method
| public string getName ( ) | ||
|---|---|---|
| return | string |
Имя генератора кода. |
getSchemaNames() protected method (доступно с версии 2.0.5)
| protected string[] getSchemaNames ( ) | ||
|---|---|---|
| return | string[] |
Все имена схем БД или массив с единственной пустой строкой. |
| throws | yii\base\NotSupportedException | |
getTableNames() protected method
| protected array getTableNames ( ) | ||
|---|---|---|
| return | array |
Имена таблиц, соответствующие шаблону, указанному в $tableName. |
getTablePrefix() public method (доступно с версии 2.0.5)
Возвращает свойство tablePrefix подключения к БД, как указано
См. также getDbConnection().
| public string getTablePrefix ( ) |
|---|
hints() public method
Возвращает список сообщений подсказок.
Ключи массива — имена атрибутов, а значения — соответствующие сообщения подсказок. Сообщения подсказок будут отображаться конечным пользователям при заполнении формы генератора.
| public array hints ( ) | ||
|---|---|---|
| return | array |
Список сообщений подсказок |
isColumnAutoIncremental() protected method
Проверяет, является ли какой-либо из указанных столбцов автоинкрементируемым.
| protected boolean isColumnAutoIncremental ( $table, $columns ) | ||
|---|---|---|
| $table | yii\db\TableSchema |
Схема таблицы |
| $columns | array |
Столбцы для проверки свойства autoIncrement |
| return | boolean |
Является ли какой-либо из указанных столбцов автоинкрементируемым. |
isHasManyRelation() protected method (доступно с версии 2.0.5)
Определяет, является ли отношение отношением «один ко многим»
| protected boolean isHasManyRelation ( $table, $fks ) | ||
|---|---|---|
| $table | yii\db\TableSchema | |
| $fks | 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\gii\generators\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\gii\generators\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 array rules ( ) | ||
|---|---|---|
| return | array |
Правила валидации |
stickyAttributes() public method
Возвращает список неизменяемых атрибутов.
Неизменяемый атрибут сохранит свое значение и инициализирует атрибут этим значением при повторном запуске генератора.
| public array stickyAttributes ( ) | ||
|---|---|---|
| return | array |
Список неизменяемых атрибутов |
validateDb() public method
Проверяет атрибут $db.
| public void validateDb ( ) |
|---|
validateModelClass() public method
Проверяет атрибут $modelClass.
| public void validateModelClass ( ) |
|---|
validateNamespace() public method
Проверяет имя пространства имён.
| public void validateNamespace ( $attribute ) | ||
|---|---|---|
| $attribute | string |
Переменная пространства имён. |
validateTableName() public method
Проверяет атрибут $tableName.
| public void validateTableName ( ) |
|---|
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-gii-generators-model-generator.html