User_Model
extends Core_Entity
in package
Table of Contents
Constants
- ACTION_LOGOUT = 'exit'
- Строка для действия выхода из системы
- ACTION_SIGNIN = 'sign-in'
- Строка для действия регистрации
- ACTION_SIGNUP = 'sign-up'
- Строка для действия регистрации
Properties
- $_allowedProperties : array<string|int, mixed>
- Разрешенные для чтения и записи поля таблицы пользователей
- $_columns : array<string|int, mixed>
- Имена столбцов таблицы в БД и их параметры
- $_database : object
- Объект подключения к СУБД
- $_forbiddenProperties : array<string|int, mixed>
- Запрещенные для чтения и записи поля таблицы пользователей
- $_init : bool
- Статус инициализации объекта модели
- $_initialData : array<string|int, mixed>
- Исходные данные модели из таблицы в БД
- $_lastQuery : string
- Строка последнего выполненного запроса к БД
- $_loaded : bool
- Была ли загружена модель из базы данных
- $_modelName : string
- Имя модели
- $_newData : array<string|int, mixed>
- Новые данные модели для сохранения в БД
- $_primaryKey : string
- Наименование поля таблицы, в которой находится первичный ключ В большинстве случаев это будет поле `id`, но нельзя исключать вероятность того, что кто-то назовёт поле с первичным ключом иначе
- $_queryBuilder : object
- Объект взаимодействия с СУБД
- $_queryType : int
- Тип выполняемого SQL-запроса 0 - SELECT 1 - INSERT 2 - UPDATE 3 - DELETE
- $_sql : string
- Строка подготавливаемого запроса к БД
- $_statement : object
- Объект результирующего запроса или подготовленного запроса
- $_tableName : string
- Имя таблицы в БД, соответствующей модели
Methods
- __construct() : mixed
- Конструктор класса
- __get() : mixed
- Магический метод для получения значения необъявленного свойства класса Вернет значение из запрошенного поля таблицы, если оно разрешено в массиве $_allowedProperties и есть среди полей таблицы
- __set() : mixed
- Устанавливает значения для необъявленных свойств класса Если устанавливается пароль, перед вызовом логики родительского метода __set() значение пароля будет хэшировано. Для остальных свойств поведение магического метода будет обычным
- changeActive() : object
- Меняет статус активации учетной записи пользователя
- checkPassword() : bool
- Проверяет пароль пользователя, совпадает ли он с хранимым в БД
- clear() : object
- Очищает объект от пользовательских данных
- clearEntity() : object
- Очищает объект от новых пользовательских данных
- factory() : Core_ORM
- findAll() : array<string|int, mixed>
- Получает из базы данных все записи, которые вернет подготовленный запрос в соответствии с условиями
- findPrimaryKeyFieldName() : mixed
- Получает имя поля, которое имеет первичный ключ
- getByLoginOrEmail() : mixed
- Ищет в БД запись по переданному значению полей login или email
- getColumns() : array<string|int, mixed>
- Получает и возвращает перечень загруженных полей таблицы
- getCurrent() : mixed
- Получает информацию об авторизованном пользователе
- getModelName() : string
- Получает и возвращает имя модели
- getPrimaryKey() : mixed
- Возвращает значение поля первичного ключа
- getQueryType() : int
- Возвращает тип запроса
- getTableName() : string
- Получает и возвращает имя таблицы в БД, соответствующей модели
- isValueExist() : true
- Проверяет уникальность логина в системе
- load() : mixed
- Загружает указанные данные модели
- preparePassword() : string
- Хэширует переданное значения пароля
- processUserData() : mixed
- Обрабатывает данные, которыми пользователь заполнил форму
- queryBuilder() : mixed
- Взаимодействует с СУБД от лица объекта модели
- save() : object
- Сохраняет информацию о модели в БД
- setCurrent() : object
- Устанавливает в сесии параметры пользователя, прошедшего авторизацию
- setQueryType() : object
- Устанавливает тип запроса SELECT, INSERT и т.п.
- unsetCurrent() : object
- Завершает сеанс пользователя в системе
- update() : mixed
- validateEmail() : true
- Проверяет правильность адреса электронной почты
- _checkCurrent() : bool
- Проверяет, не был ли авторизован пользователь ранее
- _getCurrentUser() : Core_ORM
- Возвращает объект пользователя, для которого в сессию записаны данные об авторизации
- _init() : mixed
- Инициализирует объект модели Этот метод на текущем этапе не имеет задач, которые должен решать, поэтому просто устанавливаем, что объект инициализирован А ещё загрузим информацию о столбцах таблицы
- _load() : mixed
- Загружает первичную информацию модели
- _loadColumns() : mixed
- Загружает информацию о столбцах таблицы модели в БД
- _setPrimarykey() : mixed
- Устанавливает значение первичного ключа для объекта — не для записи в БД
Constants
ACTION_LOGOUT
Строка для действия выхода из системы
public
mixed
ACTION_LOGOUT
= 'exit'
ACTION_SIGNIN
Строка для действия регистрации
public
mixed
ACTION_SIGNIN
= 'sign-in'
ACTION_SIGNUP
Строка для действия регистрации
public
mixed
ACTION_SIGNUP
= 'sign-up'
Properties
$_allowedProperties
Разрешенные для чтения и записи поля таблицы пользователей
protected
array<string|int, mixed>
$_allowedProperties
= ['id', 'login', 'email', 'registration_date', 'active']
$_columns
Имена столбцов таблицы в БД и их параметры
protected
array<string|int, mixed>
$_columns
= []
$_database
Объект подключения к СУБД
protected
object
$_database
= \NULL
Core_Database
$_forbiddenProperties
Запрещенные для чтения и записи поля таблицы пользователей
protected
array<string|int, mixed>
$_forbiddenProperties
= ['password', 'deleted']
$_init
Статус инициализации объекта модели
protected
bool
$_init
= \FALSE
$_initialData
Исходные данные модели из таблицы в БД
protected
array<string|int, mixed>
$_initialData
= []
$_lastQuery
Строка последнего выполненного запроса к БД
protected
string
$_lastQuery
= \NULL
$_loaded
Была ли загружена модель из базы данных
protected
bool
$_loaded
= \FALSE
$_modelName
Имя модели
protected
string
$_modelName
= 'user'
$_newData
Новые данные модели для сохранения в БД
protected
array<string|int, mixed>
$_newData
= []
$_primaryKey
Наименование поля таблицы, в которой находится первичный ключ В большинстве случаев это будет поле `id`, но нельзя исключать вероятность того, что кто-то назовёт поле с первичным ключом иначе
protected
string
$_primaryKey
= 'id'
$_queryBuilder
Объект взаимодействия с СУБД
protected
object
$_queryBuilder
= \NULL
PDOStatement
$_queryType
Тип выполняемого SQL-запроса 0 - SELECT 1 - INSERT 2 - UPDATE 3 - DELETE
protected
int
$_queryType
= \NULL
$_sql
Строка подготавливаемого запроса к БД
protected
string
$_sql
= \NULL
$_statement
Объект результирующего запроса или подготовленного запроса
protected
object
$_statement
= \NULL
$_tableName
Имя таблицы в БД, соответствующей модели
protected
string
$_tableName
= 'users'
Methods
__construct()
Конструктор класса
public
__construct([int $id = NULL ]) : mixed
Parameters
- $id : int = NULL
-
= 0
__get()
Магический метод для получения значения необъявленного свойства класса Вернет значение из запрошенного поля таблицы, если оно разрешено в массиве $_allowedProperties и есть среди полей таблицы
public
__get(string $property) : mixed
Parameters
- $property : string
Return values
mixed —string|NULL
__set()
Устанавливает значения для необъявленных свойств класса Если устанавливается пароль, перед вызовом логики родительского метода __set() значение пароля будет хэшировано. Для остальных свойств поведение магического метода будет обычным
public
__set(string $property, string $value) : mixed
Parameters
- $property : string
- $value : string
changeActive()
Меняет статус активации учетной записи пользователя
public
changeActive() : object
Return values
object —self
checkPassword()
Проверяет пароль пользователя, совпадает ли он с хранимым в БД
public
checkPassword(string $password) : bool
Parameters
- $password : string
-
пароль пользователя
Return values
bool —TRUE|FALSE
clear()
Очищает объект от пользовательских данных
public
clear() : object
Return values
object —self
clearEntity()
Очищает объект от новых пользовательских данных
public
clearEntity() : object
Return values
object —self
factory()
public
static factory(mixed $modelName[, mixed $primary_key = NULL ]) : Core_ORM
Parameters
- $modelName : mixed
- $primary_key : mixed = NULL
Return values
Core_ORMfindAll()
Получает из базы данных все записи, которые вернет подготовленный запрос в соответствии с условиями
public
findAll() : array<string|int, mixed>
Return values
array<string|int, mixed>findPrimaryKeyFieldName()
Получает имя поля, которое имеет первичный ключ
public
findPrimaryKeyFieldName() : mixed
getByLoginOrEmail()
Ищет в БД запись по переданному значению полей login или email
public
getByLoginOrEmail(string $value) : mixed
Parameters
- $value : string
Return values
mixed —Core_ORM|NULL
getColumns()
Получает и возвращает перечень загруженных полей таблицы
public
getColumns() : array<string|int, mixed>
Return values
array<string|int, mixed>getCurrent()
Получает информацию об авторизованном пользователе
public
getCurrent() : mixed
Return values
mixed —self | NULL если пользователь не авторизован
getModelName()
Получает и возвращает имя модели
public
getModelName() : string
Return values
stringgetPrimaryKey()
Возвращает значение поля первичного ключа
public
getPrimaryKey([mixed $returnedValueIWasNotFound = NULL ]) : mixed
Parameters
- $returnedValueIWasNotFound : mixed = NULL
-
вернется если не было найдено значение поля первичного ключа в случае, если был задан параметр отличный от NULL
getQueryType()
Возвращает тип запроса
public
getQueryType() : int
Return values
intgetTableName()
Получает и возвращает имя таблицы в БД, соответствующей модели
public
getTableName() : string
Return values
stringisValueExist()
Проверяет уникальность логина в системе
public
isValueExist(string $value, string $field) : true
Parameters
- $value : string
- $field : string
Return values
true —| FALSE
load()
Загружает указанные данные модели
public
load([mixed $property = NULL ]) : mixed
Parameters
- $property : mixed = NULL
preparePassword()
Хэширует переданное значения пароля
public
preparePassword(string $password) : string
Parameters
- $password : string
Return values
stringprocessUserData()
Обрабатывает данные, которыми пользователь заполнил форму
public
processUserData(array<string|int, mixed> $post) : mixed
Parameters
- $post : array<string|int, mixed>
queryBuilder()
Взаимодействует с СУБД от лица объекта модели
public
queryBuilder() : mixed
save()
Сохраняет информацию о модели в БД
public
save() : object
Return values
object —self
setCurrent()
Устанавливает в сесии параметры пользователя, прошедшего авторизацию
public
setCurrent() : object
Return values
object —self
setQueryType()
Устанавливает тип запроса SELECT, INSERT и т.п.
public
setQueryType(int $queryType) : object
Parameters
- $queryType : int
Return values
object —self
unsetCurrent()
Завершает сеанс пользователя в системе
public
unsetCurrent() : object
Return values
object —self
update()
public
update() : mixed
validateEmail()
Проверяет правильность адреса электронной почты
public
validateEmail(string $email) : true
Parameters
- $email : string
Return values
true —| FALSE
_checkCurrent()
Проверяет, не был ли авторизован пользователь ранее
protected
_checkCurrent(string $value) : bool
Parameters
- $value : string
-
логин или адрес электропочты
Return values
bool —TRUE|FALSE
_getCurrentUser()
Возвращает объект пользователя, для которого в сессию записаны данные об авторизации
protected
_getCurrentUser() : Core_ORM
Return values
Core_ORM_init()
Инициализирует объект модели Этот метод на текущем этапе не имеет задач, которые должен решать, поэтому просто устанавливаем, что объект инициализирован А ещё загрузим информацию о столбцах таблицы
protected
final _init() : mixed
_load()
Загружает первичную информацию модели
protected
_load([mixed $property = NULL ]) : mixed
Parameters
- $property : mixed = NULL
_loadColumns()
Загружает информацию о столбцах таблицы модели в БД
protected
_loadColumns() : mixed
_setPrimarykey()
Устанавливает значение первичного ключа для объекта — не для записи в БД
protected
_setPrimarykey(int $primary_key) : mixed
Parameters
- $primary_key : int