Класс CakeSchema
Базовый класс для управления схемами.
- CakeObject
-
CakeSchema
Авторские права: Авторские права (c) Cake Software Foundation, Inc. (https://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необязательно массив() - Необязательные свойства объекта загрузки.
Переопределяет
CakeObject::__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 - Имя файла в файловой системе.
Возвращает
booleanTrue, если файл успешно включён, false при ошибке.
_values()source protected
_values( array $values )
Форматирует столбцы схемы из объекта модели.
Параметры
- массив
$values - Ключи параметров (тип, null, значение по умолчанию, ключ, длина, дополнительно).
Возвращает
массивОтформатированные значения.
after()source public
after( array $event array() )
Обработчик после выполнения, подлежащий реализации в подклассах.
Параметры
- массив
$eventнеобязательно массив() - Свойства объекта схемы.
before()source public
before( array $event array() )
Обработчик до выполнения, подлежащий реализации в подклассах.
Параметры
- массив
$eventнеобязательно массив() - Свойства объекта схемы.
Возвращает
booleanСледует ли продолжить обработку.
build()source public
build( array $data )
Создает свойства объекта схемы.
Параметры
- массив
$data - Загруженные свойства объекта.
compare()source public
compare( array|object $old , array|object $new null )
Сравнивает два набора схем.
Параметры
- массив|объект
$old - Объект или массив схемы.
- массив|объект
$newнеобязательно null - Объект или массив схемы.
Возвращает
массивТаблицы (которые добавлены, удалены или изменены).
generateTable()source public
generateTable( string $table , array $fields )
Генерирует код схемы для таблицы.
Принимает имя таблицы и массив $fields и возвращает полное, экранированное объявление переменной, которое будет использовано в классах схем.
Параметры
- строка
$table - Имя таблицы, которое вы хотите получить.
- массив
$fields - Массив информации о полях для генерации таблицы.
Возвращает
строкаОбъявление переменной для класса схемы.
Выбрасывает
Исключениеload()source public
load( array $options array() )
Считывает базу данных и создает таблицы схемы.
Параметры
- массив
$optionsнеобязательно array() - Свойства объекта схемы.
Возвращает
массив|булевоНабор имен и таблиц.
read()source public
read( array $options array() )
Считывает базу данных и создает таблицы схемы.
Параметры
- 'connection' - подключение к базе данных, которое нужно использовать
- 'name' - имя схемы
- 'models' - список моделей для использования, или false для игнорирования моделей
Параметры
- массив
$optionsнеобязательно array() - Свойства объекта схемы.
Возвращает
массивМассив, индексированный по имени и таблицам.
write()source public
write( array|object $object , array $options array() )
Записывает файл схемы из объекта или параметров.
Параметры
- массив|объект
$object - Объект схемы или массив параметров.
- массив
$optionsнеобязательно array() - Свойства объекта схемы для переопределения объекта.
Возвращает
смешанноеЛожь или строка, записанная в файл.
Методы, унаследованные от CakeObject
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства $property этого объекта со свойством в определении $class. Значение этого класса для свойства будет объединено поверх $class’.
Это обеспечивает часть DRY-магии CakePHP. Если вы хотите отключить её, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- булево
$normalizeнеобязательно true - Установите в значение true, чтобы запустить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет устанавливать несколько свойств объекта в одной строке кода. Будет устанавливать только свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Обёртка exit(), что облегчает тестирование.
Параметры
- целое число|строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Обеспечивает объектно-ориентированную обёртку для call_user_func_array
Параметры
- строка
$method - Имя вызываемого метода
- массив
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращает
смешанноеВозвращает результат вызова метода
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().
Возвращает
булевоУспех записи в журнал
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 и именованных/переданных аргументов.
Возвращает
смешанноеЛогическое значение true или false при успехе/неудачи, или содержимое отображаемого действия, если в $extra установлен 'return'.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращает
строкаИмя этого класса
Подробное описание свойств
END_OF_DOCUMENT_MARKER
© 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-CakeSchema.html