Класс DataSource
Базовый класс DataSource
DataSource — это звено между моделями и источником данных, которые модели представляют.
- CakeObject
-
DataSource
Прямые подклассы
Косвенные подклассы
Ссылка: https://book.cakephp.org/2.0/ru/models/datasources.html#basic-api-for-datasources
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Model/Datasource/DataSource.php
Краткое описание свойств
-
$_baseConfigprotectedЗначение по умолчанию для конкретного источника данныхarray -
$_descriptionsprotectedХранит ссылки на описания, загруженные источником данныхarray -
$_sourcesprotectedСписок источников (таблиц) в источнике данныхarray -
$_transactionStartedprotectedВключен ли данный источник данных в середине транзакцииboolean -
$cacheSourcespublicbooleanНужно ли кэшировать данные источника, такие как доступные таблицы и описания схем
-
$configpublicКонфигурация источника данныхarray -
$connectedpublicПодключены ли мы к источнику данных?boolean
Краткое описание методов
- __construct() publicКонструктор.
- __destruct() publicЗакрывает текущий источник данных.
- _cacheDescription() protectedКэширование описания источника данных
- begin() publicНачать транзакцию
- close() publicЗакрыть соединение. Переопределить в подклассах.
- column() publicПреобразует типы столбцов в базовые типы
- commit() publicПодтвердить транзакцию
- create() publicИспользуется для создания новых записей.
- delete() publicУдалить запись(и) в источнике данных.
- describe() publicВозвращает описание модели (метаданные) или null, если не найдено.
- enabled() public
Проверить, выполнены ли условия доступности источника данных. Часто используется в connect() для проверки поддержки перед установкой соединения.
- getSchemaName() publicВозвращает имя схемы. Переопределить в подклассах.
- insertQueryData() publicЗаменяет
{$__cakeID__$}и{$__cakeForeignKey__$}плацехолдеры в данных запроса. - lastAffected() publicВозвращает количество строк, затронутых последним запросом.
- lastInsertId() publicВозвращает ID, сгенерированный предыдущей операцией INSERT.
- lastNumRows() publicВозвращает количество строк, возвращенных последней операцией.
- listSources() publicКэширует/возвращает кэшированные результаты для дочерних экземпляров
- read() publicИспользуется для чтения записей из источника данных.
- resolveKey() publicПереопределить в подклассах.
- rollback() publicОткатить транзакцию
- setConfig() public
Устанавливает конфигурацию для источника данных. Объединяет информацию $config с _baseConfig и существующим свойством $config.
- update() publicОбновить запись(и) в источнике данных.
Подробное описание методов
__construct()source public
__construct( array $config array() )
Конструктор.
Параметры
- массив
$configнеобязательно массив() - Массив с информацией о конфигурации источника данных.
Переопределяет
CakeObject::__construct() _cacheDescription()source protected
_cacheDescription( string $object , mixed $data null )
Кэширование описания источника данных
Параметры
- строка
$object - Имя объекта (модели) для кэширования
- смешанный
$dataнеобязательно null - Описание модели, обычно строка или массив
Возвращает
смешанныйbegin()source public
begin( )
Начать транзакцию
Возвращает
булевоВозвращает true, если транзакция не запущена
column()source public
column( string $real )
Преобразует типы столбцов в базовые типы
Параметры
- строка
$real - Действительный тип столбца (например, "varchar(255)")
Возвращает
строкаАбстрактный тип столбца (например, "строка")
commit()source public
commit( )
Подтвердить транзакцию
Возвращает
булевоВозвращает true, если транзакция запущена
create()source public
create( Model $Model , array $fields null , array $values null )
Используется для создания новых записей.
Переопределить в подклассах.
Параметры
-
Model$Model - Модель, которую нужно создать.
- массив
$fieldsнеобязательно null - Массив полей для сохранения.
- массив
$valuesнеобязательно null - Массив значений для сохранения.
Возвращает
булевоуспех
delete()source public
delete( Model $Model , mixed $conditions null )
Удалить запись(и) в источнике данных.
Подлежит переопределению в дочерних классах.
Параметры
-
Model$Model - Класс модели, содержащий удаляемую запись(и).
- mixed
$conditionsнеобязательно null - Условие для удаления.
Возвращает
booleanУспех
describe()source public
describe( Model|string $model )
Возвращает описание модели (метаданные) или null, если не найдено.
Параметры
-
Model|string$model - Модель для описания.
Возвращает
array|nullМассив метаданных для $model
enabled()source public
enabled( )
Проверяет, выполнены ли условия для доступности источника данных. Часто используется в connect() для проверки поддержки перед установлением соединения.
Возвращает
booleanВыполнены ли условия источника данных для использования.
getSchemaName()source public
getSchemaName( )
Возвращает имя схемы. Переопределите в дочерних классах.
Возвращает
string|nullИмя схемы
insertQueryData()source public
insertQueryData( string $query , array $data , string $association , Model $Model , array $stack )
Заменяет {$__cakeID__$} и {$__cakeForeignKey__$} плейсхолдеры в данных запроса.
Параметры
- string
$query - Строка запроса, требующая замены.
- array
$data - Массив данных со значениями, которые будут вставлены вместо плейсхолдеров.
- string
$association - Имя модели ассоциации, подлежащей замене.
-
Model$Model - Экземпляр модели.
- array
$stack - Стек контекста.
Возвращает
mixedСтрока данных запроса с заменёнными плейсхолдерами или false при ошибке.
lastAffected()source public
lastAffected( mixed $source null )
Возвращает количество строк, затронутых последним запросом.
Параметры
- mixed
$sourceнеобязательно null - Имя источника.
Возвращает
integerКоличество строк, затронутых последним запросом.
lastInsertId()source public
lastInsertId( mixed $source null )
Возвращает ID, сгенерированный в ходе предыдущей операции INSERT.
Параметры
- mixed
$sourceнеобязательно null - Имя источника.
Возвращает
mixedПоследний сгенерированный ключ ID в предыдущей операции INSERT
lastNumRows()source public
lastNumRows( mixed $source null )
Возвращает количество строк, возвращённых последней операцией.
Параметры
- mixed
$sourceнеобязательно null - Имя источника.
Возвращает
integerКоличество строк, возвращённых последней операцией
listSources()source public
listSources( mixed $data null )
Кэширует/возвращает кэшированные результаты для дочерних экземпляров.
Параметры
- mixed
$dataнеобязательно null - Не используется в этом классе.
Возвращает
array|nullМассив доступных источников в этом источнике данных.
read()source public
read( Model $Model , array $queryData array() , integer $recursive null )
Используется для чтения записей из источника данных. «Чтение» в CRUD.
Подлежит переопределению в дочерних классах.
Параметры
-
Model$Model - Читаемая модель.
- array
$queryDataнеобязательно array() - Массив данных запроса для поиска нужных данных.
- integer
$recursiveнеобязательно null - Количество уровней ассоциации.
Возвращает
mixedresolveKey()source public
resolveKey( Model $Model , string $key )
Подлежит переопределению в дочерних классах.
Параметры
-
Model$Model - Экземпляр модели
- string
$key - Имя ключа для создания
Возвращает
stringИмя ключа модели.
rollback()source public
rollback( )
Откат транзакции
Возвращает
booleanВозвращает true, если транзакция в процессе
setConfig()source public
setConfig( array $config array() )
Устанавливает конфигурацию для DataSource. Объединяет информацию $config с _baseConfig и существующим свойством $config.
Параметры
- array
$configнеобязательно array() - Массив конфигурации
update()source public
update( Model $Model , array $fields null , array $values null , mixed $conditions null )
Обновить запись(и) в источнике данных.
Подлежит переопределению в дочерних классах.
Параметры
-
Model$Model - Экземпляр класса модели, который обновляется
- array
$fieldsнеобязательно null - Массив полей, которые необходимо обновить.
- array
$valuesнеобязательно null - Массив значений для обновления полей $fields.
- mixed
$conditionsнеобязательно null - Массив условий для использования.
Возвращает
booleanУспех
Наследуемые методы из CakeObject
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет $property этого объекта со свойством в определении $class. Значение этого объекта для свойства будет объединено поверх значения $class.
Это обеспечивает часть DRY-магии CakePHP. Если вы хотите отключить её, переопределите этот метод как пустую функцию.
Параметры
- array
$properties - Имена свойств для объединения.
- string
$class - Класс для объединения свойства с.
- boolean
$normalizeнеобязательно true - Установите в true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет установить несколько свойств объекта в одной строке кода. Будут установлены только те свойства, которые являются частью объявления класса.
Параметры
- array
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Остановить выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- integer|string
$statusнеобязательно 0 - См. http://php.net/exit для значений.
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет оберточку ООП для call_user_func_array
Параметры
- строка
$method - Имя вызываемого метода
- массив
$paramsнеобязательный array() - Список параметров для использования при вызове $method
Возвращает
mixedРезультат вызова метода
log()source public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. Подробнее о записи в журналы см. в CakeLog::write().
Параметры
- строка
$msg - Сообщение журнала
- целое число
$typeнеобязательный LOG_ERR - Константа типа ошибки. Определена в app/Config/core.php.
- null|строка|массив
$scopeнеобязательный null Область(и), в которой создается сообщение журнала. Подробнее о областяз ведения журналов см. в CakeLog::config().
Возвращает
booleanУспешность записи в журнал
requestAction()source public
requestAction( string|array $url , array $extra array() )
Вызывает метод контроллера из любой точки. Может использоваться для связи контроллеров или подключения плагинов к основному приложению. requestAction можно использовать для возврата отрисованных представлений или получения возвращаемого значения действий контроллера.
Под капотом этот метод использует Router::reverse() для преобразования параметра $url в строку URL. Следует использовать форматы URL, совместимые с Router::reverse().
Передача данных POST и GET
Данные POST и GET можно моделировать в requestAction. Используйте $extra['url'] для данных GET. Параметр $extra['data'] позволяет моделировать данные POST.
Параметры
- строка|массив
$url URL в виде строки или массива. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- массив
$extraнеобязательный array() Если массив содержит ключ «return», он устанавливает AutoRender в true. Также можно использовать для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
mixedБулевое значение true или false при успехе/неудачи, или содержимое отрисованного действия, если в $extra установлен ключ «return».
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределить этот метод по необходимости.
Возвращает
stringИмя этого класса
Подробное описание свойств
$_descriptionssource
protected массив
Содержит ссылки на описания, загруженные источником данных
array()
$_transactionStartedsource
protected boolean
Находится ли этот источник данных в середине транзакции
false
$cacheSourcessource
public boolean
Должны ли данные источника, такие как доступные таблицы и описания схемы, кэшироваться
true
© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.10/class-DataSource.html