Класс CakeSchema
Базовый класс для управления схемами.
- Объект
-
CakeSchema
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/Model/CakeSchema.php
Краткое описание свойств
-
$connectionpublicПодключение для чтения.string -
$filepublicФайл для записи.string -
$namepublicИмя схемы.string -
$pathpublicПуть к месту записи.string -
$pluginpublicИмя плагина.string -
$tablespublicНабор таблиц.array
Краткое описание методов
- __construct() publicКонструктор
- _arrayDiffAssoc() protectedРасширенная функция array_diff_assoc, учитывающая изменения значений NULL.
- _columns() protectedФорматирует столбцы схемы из объекта модели.
- _compareIndexes() protectedСравнение двух индексов схемы.
- _compareTableParameters() protectedСравнение параметров таблицы в двух файлах схемы.
- _noPrefixTable() protected
Удаляет префикс таблицы из полного имени таблицы и возвращает имя таблицы без префикса.
- _requireFile() protectedПопытка включить указанный файл схемы.
- _values() protectedФорматирует столбцы схемы из объекта модели.
- after() publicОбработчик после выполнения, подлежащий реализации в подклассах.
- before() publicОбработчик до выполнения, подлежащий реализации в подклассах.
- build() publicСоздает свойства объекта схемы.
- compare() publicСравнивает два набора схем.
- generateTable() publicГенерирует код схемы для таблицы.
- load() publicЧитает базу данных и создает таблицы схемы.
- read() publicЧитает базу данных и создает таблицы схемы.
- write() publicЗаписывает файл схемы из объекта или опций.
Подробное описание методов
__construct()source public
__construct( array $options array() )
Конструктор
Параметры
- массив
$optionsнеобязательно array() - Необязательные свойства объекта для загрузки.
Переопределяет
Object::__construct() _arrayDiffAssoc()source protected
_arrayDiffAssoc( array $array1 , array $array2 )
Расширенная функция array_diff_assoc, учитывающая изменения значений NULL.
Работает почти так же, как array_diff_assoc, за исключением значений NULL: если одно из значений не равно NULL - изменение обнаруживается. Это полезно в ситуациях, когда одно значение равно strval('') а другое strval(null) - в методах сравнения строк это приводит к тому, что значения равны, хотя на самом деле это не так.
Параметры
- массив
$array1 - Базовый массив.
- массив
$array2 - Соответствующий массив, проверяемый на равенство.
Возвращает
массивРазница в виде массива с (ключи => значения) из входного массива, где соответствие не найдено.
_columns()source protected
_columns( array $Obj )
Форматирует столбцы схемы из объекта модели.
Параметры
- массив
$Obj - $Obj объект модели.
Возвращает
массивОтформатированные столбцы.
_compareIndexes()source protected
_compareIndexes( array $new , array $old )
Сравнение двух индексов схемы.
Параметры
- массив
$new - Новые индексы.
- массив
$old - Старые индексы.
Возвращает
смешанный типFalse при ошибке или массив индексов для добавления и удаления.
_compareTableParameters()source protected
_compareTableParameters( array $new , array $old )
Сравнение параметров таблицы в двух файлах схемы.
Параметры
- массив
$new - Новые индексы.
- массив
$old - Старые индексы.
Возвращает
смешанный типFalse при ошибке или массив параметров для добавления и удаления.
_noPrefixTable()source protected
_noPrefixTable( string $prefix , string $table )
Удаляет префикс таблицы из полного имени таблицы и возвращает имя таблицы без префикса.
Параметры
- строка
$prefix - Префикс таблицы.
- строка
$table - Полное имя таблицы.
Возвращает
строкаИмя таблицы без префикса.
_requireFile()source protected
_requireFile( string $path , string $file )
Попытка включить указанный файл схемы.
Параметры
- строка
$path - Путь к файлу в файловой системе.
- строка
$file - Базовое имя файла в файловой системе.
Возвращает
булево значениеTrue, если файл был успешно включён, false - при ошибке.
_values()source protected
_values( array $values )
Форматирует столбцы схемы из объекта модели.
Параметры
- массив
$values - Ключи опций (тип, null, значение по умолчанию, ключ, длина, дополнительные).
Возвращает
массивОтформатированные значения.
after()source public
after( array $event array() )
Обработчик после выполнения, подлежащий реализации в подклассах.
Параметры
- массив
$eventнеобязательно array() - Свойства объекта схемы.
before()source public
before( array $event array() )
Обработчик до выполнения, подлежащий реализации в подклассах.
Параметры
- массив
$eventнеобязательно array() - Свойства объекта схемы.
Возвращает
булево значениеПродолжать выполнение.
build()source public
build( array $data )
Создает свойства объекта схемы.
Параметры
- массив
$data - Загруженные свойства объекта.
compare()source public
compare( array|object $old , array|object $new null )
Сравнивает два набора схем.
Параметры
- array|object
$old - Объект или массив схемы.
- array|object
$newoptional null - Объект или массив схемы.
Возвращает
arrayТаблицы (которые добавлены, удалены или изменены.)
generateTable()source public
generateTable( string $table , array $fields )
Генерирует код схемы для таблицы.
Принимает имя таблицы и массив $fields и возвращает полное, экранированное объявление переменной для использования в классах схемы.
Параметры
- string
$table - Имя таблицы, которое вы хотите получить.
- array
$fields - Массив с информацией о полях для создания таблицы.
Возвращает
stringОбъявление переменной для класса схемы.
load()source public
load( array $options array() )
Читает базу данных и создает таблицы схемы.
Параметры
- array
$optionsoptional array() - Свойства объекта схемы.
Возвращает
arrayНабор имен и таблиц.
read()source public
read( array $options array() )
Читает базу данных и создает таблицы схемы.
Опции
- 'connection' - подключение к базе данных для использования
- 'name' - имя схемы
- 'models' - список моделей для использования, или false, чтобы игнорировать модели
Параметры
- array
$optionsoptional array() - Свойства объекта схемы.
Возвращает
arrayМассив, индексированный по имени и таблицам.
write()source public
write( array|object $object , array $options array() )
Записывает файл схемы из объекта или опций.
Параметры
- array|object
$object - Объект схемы или массив опций.
- array
$optionsoptional array() - Свойства объекта схемы для перезаписи объекта.
Возвращает
mixedFalse или строка, записанная в файл.
Наследованные методы из Object
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет $property этого объекта со свойством в определении $class. Значение этого класса для свойства будет объединено поверх $class'
Это обеспечивает некоторую DRY-магию, предоставляемую CakePHP. Если вы хотите это отключить, переопределите этот метод как пустую функцию.
Параметры
- array
$properties - Имя свойств для объединения.
- string
$class - Класс для объединения свойства с.
- boolean
$normalizeoptional true - Установите в значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет устанавливать несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- array
$propertiesoptional array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- integer|string
$statusoptional 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет объектно-ориентированную обертку для call_user_func_array
Параметры
- string
$method - Имя вызываемого метода
- array
$paramsoptional array() - Список параметров для использования при вызове $method
Возвращает
mixedВозвращает результат вызова метода
log()source public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. См. CakeLog::write() для получения дополнительной информации о записи в журналы.
Параметры
- string
$msg - Сообщение журнала
- integer
$typeoptional LOG_ERR - Константа типа ошибки. Определена в app/Config/core.php.
- null|string|array
$scopeoptional 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.
Параметры
- string|array
$url Строка или URL на основе массива. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- array
$extraoptional array() если массив содержит ключ "return", он устанавливает AutoRender в значение true. Также может быть использован для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
mixedБулево значение true или false при успехе/неудачи или содержимое отрисованного действия, если 'return' установлен в $extra.
toString()source public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращает
stringИмя этого класса
Подробности свойств
© 2005–2016 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.
http://api.cakephp.org/2.8/class-CakeSchema.html