Класс CacheHelper
CacheHelper помогает создавать кэширование полных страниц.
При использовании CacheHelper вы не вызываете ни один из его методов, они все автоматически вызываются View, и используют настройки $cacheAction, установленные в контроллере.
- Объект
-
Помощник -
AppHelper -
CacheHelper
Ссылка: http://book.cakephp.org/2.0/ru/core-libraries/helpers/cache.html
Устаревший:
Этот класс будет удален в версии 3.0. Вам следует использовать отдельный кэш ответов, такой как Varnish.
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположение: Cake/View/Helper/CacheHelper.php
Краткое описание свойств
-
$_counterprotectedСчётчик, используемый для подсчёта тегов секции nocache.integer -
$_matchprotectedarrayМассив строк, которые заменяются своими переменными выше. Строки — это любое содержимое внутри
<!--nocache--><!--/nocache-->и включают теги в представлениях -
$_replaceprotectedarrayМассив строк, заменяемых в кэшированных представлениях. Строки находятся между
<!--nocache--><!--/nocache-->в представлениях
Унаследованные свойства
-
_View,_association,_attributeFormat,_cleaned,_entityPath,_fieldSuffixes,_helperMap,_minimizedAttributeFormat,_minimizedAttributes,_modelScope,_tainted,fieldset,helpers,plugin,request,settings,tags,theme
Краткое описание методов
- _enabled() protectedВключён ли CacheHelper? должны ли файлы + вывод быть обработаны.
- _parseContent() protected
Обработка файла + вывода. Сопоставляет теги nocache между текущим выводом и текущим файлом, хранит ссылку на файл, чтобы сгенерированное содержимое можно было вернуть к содержимому файла при записи файла кэша.
- _parseFile() protectedОбработка файла в поисках тегов кэша
- _parseOutput() protectedОбработка вывода и замена тегов кэша
- _replaceSection() protected
Изменяет вывод из представления с тегами кэша и нумерует секции. Это помогает решить проблемы с пустым/дублирующимся содержимым.
- _stripTags() protected
Удаляет теги cake:nocache из строки. Поскольку View::render() удаляет только теги nocache без номера, удалите все именованные. Это дополнение к _replaceSection.
- _writeFile() protectedЗапись кэшированной версии файла
- afterLayout() publicОбрабатывает файл шаблона и сохраняет содержимое для построения файла кэша.
- afterRenderFile() publicОбрабатывает файл представления и сохраняет содержимое для построения файла кэша.
- cache() publicОсновной метод для кэширования представления
Подробное описание методов
_enabled()source protected
_enabled( )
Включён ли CacheHelper? должны ли файлы + вывод быть обработаны.
Возвращает
boolean_parseContent()source protected
_parseContent( string $file , string $out )
Обработка файла + вывода. Сопоставляет теги nocache между текущим выводом и текущим файлом, хранит ссылку на файл, чтобы сгенерированное содержимое можно было вернуть к содержимому файла при записи файла кэша.
Параметры
- строка
$file - Имя файла для обработки.
- строка
$out - Вывод для файла.
Возвращает
строкаОбновленное содержимое.
_parseFile()source protected
_parseFile( string $file , string $cache )
Обработка файла в поисках тегов кэша
Параметры
- строка
$file - Имя файла, который нужно обработать.
- строка
$cache - Кэшированное содержимое
_parseOutput()source protected
_parseOutput( string $cache )
Обработка вывода и замена тегов кэша
Параметры
- строка
$cache - Вывод для замены содержимого.
Возвращает
строкасо всеми выполненными заменями
_replaceSection()source protected
_replaceSection( )
Изменяет вывод из представления с тегами кэша и нумерует секции. Это помогает решить проблемы с пустым/дублирующимся содержимым.
Возвращает
строкаСодержимое с заменёнными тегами cake:nocache.
_stripTags()source protected
_stripTags( string $content )
Удаляет теги cake:nocache из строки. Поскольку View::render() удаляет только теги nocache без номера, удалите все именованные. Это дополнение к _replaceSection.
Параметры
- строка
$content - Строка для удаления тегов.
Возвращает
строкаСтрока с удаленными тегами.
_writeFile()source protected
_writeFile( string $content , string $timestamp , boolean|null $useCallbacks false )
Запись кэшированной версии файла
Параметры
- строка
$content - Содержимое представления для записи в файл кэша.
- строка
$timestamp - Срок действия для файла кэша.
- boolean|null
$useCallbacksнеобязательно false Включать ли в кэшированный файл инструкции, которые выполняют обратные вызовы, в противном случае null.
Возвращает
booleanУспех кэширования представления.
afterLayout()source public
afterLayout( string $layoutFile )
Обрабатывает файл шаблона и сохраняет содержимое для построения файла кэша.
Параметры
- строка
$layoutFile - Имя файла шаблона.
Переопределяет
Helper::afterLayout() afterRenderFile()source public
afterRenderFile( string $viewFile , string $output )
Обрабатывает файл представления и сохраняет содержимое для построения файла кэша.
Параметры
- строка
$viewFile - Имя файла представления.
- строка
$output - Вывод для файла.
Возвращает
строкаОбновленное содержимое.
Переопределяет
Helper::afterRenderFile() cache()source public
cache( string $file , string $out )
Основной метод для кэширования представления
Параметры
- строка
$file - Файл для кэширования
- строка
$out - Вывод для кэширования
Возвращает
строкаВывод представления
Выбрасывает
ИсключениеЕсли режим отладки включён и запись в файл кэша не удалась.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/cache.htmlМетоды, унаследованные от Помощника
__call()source public
__call( string $method , array $params )
Предоставляет некритичные ошибки при вызове отсутствующих методов.
Параметры
- строка
$method - Метод для вызова
- массив
$params - Массив параметров для метода.
__construct()source public
__construct( View $View , array $settings array() )
Конструктор по умолчанию
Параметры
-
View$View - Представление, к которому подключается помощник.
- массив
$settingsнеобязательно array() - Настройки конфигурации помощника.
Переопределяет
Object::__construct() __get()source public
__get( string $name )
Ленично загружает помощников. Обеспечивает доступ к устаревшим свойствам запроса.
Параметры
- строка
$name - Имя свойства, к которому осуществляется доступ.
Возвращает
смешанный типПомощник или свойство, найденное в $name
__set()source public
__set( string $name , mixed $value )
Обеспечивает обратную совместимость для установки значений в объект запроса.
Параметры
- строка
$name - Имя свойства, к которому осуществляется доступ.
- смешанный тип
$value - Значение для установки.
_confirm()source protected
_confirm( string $message , string $okCode , string $cancelCode '' , array $options array() )
Возвращает строку, используемую в качестве обработчика onclick для диалоговых окон подтверждения.
Параметры
- строка
$message - Сообщение для отображения
- строка
$okCode - Код, который будет выполнен после выбора пользователем 'OK'
- строка
$cancelCodeнеобязательно '' - Код, который будет выполнен после выбора пользователем 'Отмена', также выполняется, когда okCode не возвращает значение
- массив
$optionsнеобязательно array() - Массив опций
Возвращает
строкаJS-код onclick
_encodeUrl()source protected
_encodeUrl( string $url )
Кодирует URL для использования в атрибутах HTML.
Параметры
- строка
$url - URL для кодирования.
Возвращает
строкаURL, закодированный для контекстов URL и HTML.
_formatAttribute()source protected
_formatAttribute( string $key , string $value , boolean $escape true )
Форматирует отдельный атрибут и возвращает строковое значение составленного атрибута. Работает с минимизированными атрибутами, которые имеют такое же значение, как и их имя, например, 'disabled' и 'checked'
Параметры
- строка
$key - Имя атрибута для создания
- строка
$value - Значение атрибута для создания.
- булево
$escapeнеобязательно true - Определяет, должно ли значение быть экранировано
Возвращает
строкаСоставленный атрибут.
_initInputField()source protected
_initInputField( string $field , array $options array() )
Устанавливает значения по умолчанию для тега input. Установит атрибуты name, value и id для массива атрибутов html.
Параметры
- строка
$field - Имя поля для инициализации.
- массив
$optionsнеобязательно array() - Массив опций для использования при инициализации поля ввода.
Возвращает
массивМассив опций для поля формы.
_name()source protected
_name( array|string $options array() , string $field null , string $key 'name' )
Получает имя поля ввода для текущего тега. Создает атрибуты имени ввода, используя форматирование CakePHP data[Model][field].
Параметры
- массив|строка
$optionsнеобязательно array() Если массив, должен быть массивом атрибутов, к которым необходимо добавить $key. Если строка или null, будет использоваться сущность представления.
- строка
$fieldнеобязательно null - Имя поля.
- строка
$keyнеобязательно 'name' - Имя атрибута для установки, по умолчанию 'name'
Возвращает
смешанный типЕсли для $options был задан массив, будет возвращен массив с заданным $key. Если была передана строка, будет возвращена строка.
_parseAttributes()source protected
_parseAttributes( array $options , array $exclude null , string $insertBefore ' ' , string $insertAfter null )
Возвращает строку, разделённую пробелами, с элементами массива $options. Если ключ массива $options совпадает с одним из перечисленных в Helper::$_minimizedAttributes,
И его значение равно одному из:
- '1' (строка)
- 1 (целое число)
- true (булево)
- 'true' (строка)
Тогда значение будет сброшено, чтобы быть идентичным имени ключа. Если значение не является одним из этих 3, параметр не выводится.
'escape' — особая опция, которая управляет преобразованием атрибутов в их эквиваленты, закодированные с помощью HTML-сущностей. Установите значение false, чтобы отключить кодирование HTML.
Если значение для любого ключа опции установлено в null или false, эта опция будет исключена из вывода.
Параметры
- массив
$options - Массив опций.
- массив
$excludeнеобязательно null - Массив опций для исключения, эти опции не будут частью возвращаемого значения.
- строка
$insertBeforeнеобязательно ' ' - Строка, которая будет вставлена перед опциями.
- строка
$insertAfterнеобязательно null - Строка, которая будет вставлена после опций.
Возвращает
строкаСоставленные атрибуты.
_selectedArray()source protected
_selectedArray( string|array $data , string $key 'id' )
Преобразует набор записей из ассоциации hasAndBelongsToMany в список выбранных опций для элемента множественного выбора.
Параметры
- строка|массив
$data - Массив данных или имя модели.
- строка
$keyнеобязательно 'id' - Имя поля.
Возвращает
массивaddClass()source public
addClass( array $options array() , string $class null , string $key 'class' )
Добавляет указанный класс к опциям элемента.
Параметры
- массив
$optionsнеобязательно array() - Массив опций/атрибутов для добавления класса
- строка
$classнеобязательно null - Имя добавляемого класса.
- строка
$keyнеобязательно 'class' - Ключ для использования в классе.
Возвращает
массивМассив опций со значением $key.
afterRender()source public
afterRender( string $viewFile )
Обработчик после рендеринга. afterRender вызывается после рендеринга файла представления, но перед рендерингом макета.
Переопределяется в подклассах.
Параметры
- строка
$viewFile - Файл представления, который был рендерен.
assetTimestamp()source public
assetTimestamp( string $path )
Добавляет отметку времени к файловому ресурсу на основе значения Asset.timestamp в Configure. Если Asset.timestamp имеет значение true и debug > 0, или Asset.timestamp === 'force', будет добавлена отметка времени.
Параметры
- строка
$path - Путь к файлу, которому нужно добавить отметку времени. Путь должен быть внутри WWW_ROOT
Возвращает
строкаПуть с добавленной отметкой времени или без неё.
assetUrl()source public
assetUrl( string|array $path , array $options array() )
Генерирует URL для указанного файла ресурса. В зависимости от переданных параметров возвращает полный URL с доменным именем. Также вызывает Helper::assetTimestamp() для добавления отметки времени к локальным файлам
Параметры
- строка|массив
$path - Строка пути или массив URL
- массив
$optionsнеобязательный массив() Массив параметров. Возможные ключи:
fullBaseВозвращает полный URL с доменным именемpathPrefixПрефикс пути для относительных URLextРасширение файла ресурса для добавленияpluginЗначение false предотвратит разбор пути как плагина
Возвращает
строкаСгенерированный URL
beforeLayout()source public
beforeLayout( string $layoutFile )
Обработчик перед рендерингом макета. beforeLayout вызывается перед рендерингом макета.
Переопределяется в подклассах.
Параметры
- строка
$layoutFile - Макет, который будет рендериться.
beforeRender()source public
beforeRender( string $viewFile )
Обработчик перед рендерингом. beforeRender вызывается перед рендерингом файла представления.
Переопределяется в подклассах.
Параметры
- строка
$viewFile - Файл представления, который будет рендериться
beforeRenderFile()source public
beforeRenderFile( string $viewFile )
Обработчик перед рендерингом файла. Вызывается перед рендерингом любого фрагмента представления.
Переопределяется в подклассах.
Параметры
- строка
$viewFile - Файл, который будет рендериться.
clean()source public
clean( string|array $output )
Используется для удаления вредных тегов из содержимого. Удаляет ряд известных атак XSS из содержимого. Однако, не гарантирует удаления всех возможных вариантов. Лучшим способом предотвратить все возможные атаки является экранирование содержимого.
Параметры
- строка|массив
$output - Массив строк для очистки или одна строка для очистки.
Возвращает
строка|массив|nullОчищенное содержимое для вывода
domId()source public
domId( array|string $options null , string $id 'id' )
Генерирует ID DOM для выбранного элемента, если он не задан. Использует текущие настройки View::entity() для генерации ID атрибута с использованием записи CamelCase.
Параметры
- массив|строка
$optionsнеобязательный null Массив HTML атрибутов, в который нужно добавить $id, или строка с путем к сущности представления для получения domId.
- строка
$idнеобязательный 'id' - Имя атрибута 'id'.
Возвращает
смешанныйЕсли $options был массивом, будет возвращен массив с установленным $id. Если была передана строка, будет возвращена строка.
entity()source public
entity( )
Возвращает ссылку на сущность текущего контекста в виде массива идентификационных частей.
Возвращает
массивМассив, содержащий идентификационные элементы сущности
field()source public
field( )
Возвращает имя поля модели, используемой в текущем контексте рендеринга. Удаляет суффиксы полей, такие как год, месяц, день, час, минута, полуденный период, если текущая сущность содержит более 2 элементов.
Возвращает
строкаmodel()source public
model( )
Возвращает текущую используемую модель контекста рендеринга.
Возвращает
строкаoutput()source public
output( string $str )
Возвращает строку, сгенерированную методом помощника.
Этот метод можно переопределить в подклассах для обобщенной обработки вывода после рендеринга.
Параметры
- строка
$str - Строка, которая должна быть выведена.
Возвращает
строкаsetEntity()source public
setEntity( string $entity , boolean $setScope false )
Устанавливает свойства модели и поля этого помощника на основе пар значений, разделенных точкой, в $entity.
Параметры
- строка
$entity - Имя поля, например, "ModelName.fieldName" или "ModelName.ID.fieldName"
- логическое значение
$setScopeнеобязательный false - Устанавливает область видимости представления на модель, указанную в $tagValue
url()source public
url( string|array $url null , boolean $full false )
Находит URL для указанного действия.
Возвращает URL, указывающий на предоставленные параметры.
Параметры
- строка|массив
$urlнеобязательный null Относительный строковый URL, например,
/products/view/23или массив параметров URL. Использование массива для URL позволит использовать возможности обратной маршрутизации CakePHP.- логическое значение
$fullнеобязательный false - Если true, к результату будет добавлен полный базовый URL
Возвращает
строкаПолный переведенный URL с базовым путем.
Ссылка
http://book.cakephp.org/2.0/ru/views/helpers.htmlvalue()source public
value( array|string $options array() , string $field null , string $key 'value' )
Получает данные для текущего тега.
Параметры
- массив|строка
$optionsнеобязательный массив() Если массив, должен содержать атрибуты, к которым нужно добавить $key. Если строка или null, будет использоваться как сущность представления.
- строка
$fieldнеобязательный null - Имя поля.
- строка
$keyнеобязательный 'value' - Имя атрибута, который нужно установить, по умолчанию 'value'
Возвращает
смешанныйЕсли для $options был передан массив, будет возвращен массив с установленным $key. Если была передана строка, будет возвращена строка.
webroot()source public
webroot( string $file )
Проверяет существование файла при использовании темы; если файл не найден, возвращается стандартное расположение.
Параметры
- строка
$file - Файл, для которого нужно создать путь webroot.
Возвращает
строкаВеб-доступный путь к файлу.
Методы, унаследованные от Object
_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
Возвращаемое значение
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( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по необходимости.
Возвращаемое значение
строкаИмя этого класса
Подробное описание свойств
$_matchsource
protected массив
Массив строк, которые заменяются соответствующими переменными выше. Строки — это любое содержимое внутри <!--nocache--><!--/nocache--> и включают теги в представлениях
array()
$_replacesource
protected массив
Массив строк, заменяемых в кэшированных представлениях. Строки находятся между <!--nocache--><!--/nocache--> в представлениях
array()
© 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-CacheHelper.html