Класс CakeSchema
Базовый класс для управления схемами.
- CakeObject
-
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() - Необязательные свойства объекта для загрузки.
Переопределяет
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 - Имя файла в файловой системе.
Возвращает
булево значение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
$newнеобязательно null - Объект или массив схемы.
Возвращает
arrayТаблицы (которые были добавлены, удалены или изменены.)
generateTable()source public
generateTable( string $table , array $fields )
Генерирует код схемы для таблицы.
Принимает имя таблицы и массив $fields и возвращает полное, экранированное объявление переменной, которое будет использовано в классах схемы.
Параметры
- string
$table - Имя таблицы, которое вы хотите получить.
- array
$fields - Массив информации о полях для генерации таблицы.
Возвращает
stringОбъявление переменной для класса схемы.
Выбрасывает
Exceptionload()source public
load( array $options array() )
Читает базу данных и создает таблицы схемы.
Параметры
- array
$optionsнеобязательно array() - Свойства объекта схемы.
Возвращает
arrayНабор имен и таблиц.
read()source public
read( array $options array() )
Читает базу данных и создает таблицы схемы.
Опции
- 'connection' - подключение к базе данных для использования
- 'name' - имя схемы
- 'models' - список моделей для использования, или false для игнорирования моделей
Параметры
- array
$optionsнеобязательно array() - Свойства объекта схемы.
Возвращает
arrayМассив, индексированный по имени и таблицам.
write()source public
write( array|object $object , array $options array() )
Записывает файл схемы из объекта или опций.
Параметры
- array|object
$object - Объект схемы или массив опций.
- array
$optionsнеобязательно array() - Свойства объекта схемы для переопределения объекта.
Возвращает
mixedFalse или строка, записанная в файл.
Методы, унаследованные от 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
Параметры
- string
$method - Имя вызываемого метода
- array
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращает
mixedВозвращает результат вызова метода
log()source public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. Подробнее о записи в журналы см. CakeLog::write().
Параметры
- string
$msg - Сообщение для журнала
- integer
$typeнеобязательно LOG_ERR - Константа типа ошибки. Определена в app/Config/core.php.
- null|string|array
$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.
Параметры
- string|array
$url Строка или массив URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- array
$extraнеобязательно array() Если массив содержит ключ "return", он устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
mixedБулево значение true или false при успехе/неуспехе или содержимое отображенного действия, если в $extra задан ключ 'return'.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределить этот метод по необходимости.
Возвращает
stringИмя этого класса
Подробное описание свойств
END_OF_DOCUMENT_MARKER
© 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.
https://api.cakephp.org/2.9/class-CakeSchema.html