Класс Представление
Представление, V в триаде MVC. Представление взаимодействует с Помощниками и переменными представления, переданными из контроллера, чтобы отобразить результаты действия контроллера. Часто это HTML, но также может быть в формате JSON, XML, PDF или потоковые файлы.
CakePHP использует двухэталонную модель представления. Это означает, что содержимое представления отображается сначала, а затем вставляется в выбранный макет. Это также означает, что вы можете передавать данные из представления в макет, используя $this->set()
С версии 2.1 базовый класс представления также включает поддержку тем по умолчанию. Представления тем — это обычные файлы представлений, которые могут предоставлять уникальные HTML и статические ресурсы. Если представления тем не найдены для текущего представления, будут использованы файлы представления приложения по умолчанию. Вы можете установить $this->theme = 'mytheme' в своём Контроллере, чтобы использовать темы.
Пример пути темы с $this->theme = 'SuperHot'; был бы app/View/Themed/SuperHot/Posts
- Объект
-
Представление
Непосредственные известные подклассы
JsonView, MediaView, ScaffoldView, ThemeView, XmlViewАвторские права: Авторские права (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT Лицензия
Расположение Cake/View/View.php
Подробное описание методов
__constructисточник public
__construct( Controller $controller null )
Конструктор
Параметры
-
Controller$controllerнеобязательно null - Объект контроллера для извлечения View::_passedVars.
Переопределяет
Object::__construct() __getисточник public
__get( string $name )
Магический метод доступа к помощникам. Предоставляет доступ к атрибутам, которые были устаревшими.
Параметры
- строка
$name - Имя атрибута для получения.
Возвращает
mixedсмешанный тип
__issetисточник public
__isset( string $name )
Магическая проверка isset для устаревших атрибутов.
Параметры
- строка
$name - Имя атрибута для проверки.
Возвращает
booleanбулево значение
__setисточник public
__set( string $name , mixed $value )
Магический метод доступа к устаревшим атрибутам.
Параметры
- строка
$name - Имя атрибута для установки.
- смешанный тип
$value - Значение атрибута для установки.
Возвращает
mixedсмешанный тип
_elementCacheисточник protected
_elementCache( string $name , string $data , array $options )
Проверяет, кэшируется ли элемент, и возвращает кэшированные данные, если они присутствуют.
Параметры
- строка
$name - Имя элемента
- строка
$data - Данные
- массив
$options - Параметры элемента
Возвращает
string|nullстрока или null
_evaluateисточник protected
_evaluate( string $viewFile , array $dataForView )
Метод-песочница для оценки шаблона/файла представления.
Параметры
- строка
$viewFile - Имя файла представления
- массив
$dataForView - Данные для включения в отрисованное представление. Если пусто, используется текущее View::$viewVars.
Возвращает
stringРезультат рендеринга
_getElementFileNameисточник protected
_getElementFileName( string $name )
Находит имя файла элемента, возвращает false при неудаче.
Параметры
- строка
$name - Имя элемента для поиска.
Возвращает
mixedСтрока имени файла элемента или false, если не найдено.
_getExtensionsисточник protected
_getExtensions( )
Получает расширения, которые могут использовать файлы представлений.
Возвращает
arrayМассив расширений, используемых файлами представления.
_getLayoutFileNameисточник protected
_getLayoutFileName( string $name null )
Возвращает имя файла макета для данного шаблона в виде строки.
Параметры
- строка
$nameнеобязательно null - Имя макета для поиска.
Возвращает
stringИмя файла макета (.ctp).
Исключения
MissingLayoutExceptionпри невозможности найти макет
_getViewFileNameисточник protected
_getViewFileName( string $name null )
Возвращает имя файла шаблона данного действия (.ctp) в виде строки. Имена действий с CamelCase будут преобразовываться в нижний регистр с подчеркиванием! Это означает, что вы можете иметь LongActionNames, которые ссылаются на представления long_action_names.ctp.
Параметры
- строка
$nameнеобязательно null - Действие контроллера для поиска имени файла шаблона
Возвращает
stringИмя файла шаблона
Исключения
MissingViewExceptionпри невозможности найти файл представления.
_pathsисточник protected
_paths( string $plugin null , boolean $cached true )
Возвращает все возможные пути для поиска файлов представлений в заданном порядке.
Параметры
- строка
$pluginнеобязательно null - Необязательное имя плагина для поиска файлов представления.
- булево значение
$cachedнеобязательно true - Установите в false, чтобы принудительно обновить пути к представлениям. По умолчанию true.
Возвращает
arrayпути
_renderисточник protected
_render( string $viewFile , array $data array() )
Рендерит и возвращает вывод для данного файла представления с его массивом данных. Обрабатывает родительские/расширенные представления.
Параметры
- строка
$viewFile - Имя файла представления
- массив
$dataнеобязательно array() - Данные для включения в отрисованное представление. Если пусто, используется текущее View::$viewVars.
Возвращает
stringРезультат рендеринга
Исключения
CakeExceptionпри оставленном открытым блоке
Триггеры
View.beforeRenderFile $this, array($viewFile)View.afterRenderFile $this, array($viewFile, $content)
_renderElementисточник protected
_renderElement( string $file , array $data , array $options )
Рендерит элемента и вызывает обратные вызовы before и afterRender для него и записывает в кэш, если используется кэширование.
Параметры
- строка
$file - Путь к файлу элемента
- массив
$data - Данные для рендеринга
- массив
$options - Параметры элемента
Возвращает
stringстрока
Триггеры
View.beforeRender $this, array($file)View.afterRender $this, array($file, $element)
addScriptисточник public
addScript( string $name , string $content null )
Добавляет блок скрипта или другой элемент, который должен быть вставлен в $scripts_for_layout в <head /> макета документа.
Устарело
3.0.0 Будет удалено в 3.0. Заменено функциональностью блоков.Параметры
- строка
$name - Имя ключа скрипта или содержимое скрипта. Имя может быть использовано для обновления/замены элемента скрипта.
- строка
$contentнеобязательно null - Содержимое добавляемого скрипта, необязательно.
См. также
View::start()appendsource public
append( string $name , mixed $value null )
Добавить в существующий или новый блок. Добавление в новый блок создаст блок.
Параметры
- string
$name - Имя блока
- mixed
$valueнеобязательно null - Содержимое блока.
См. также
ViewBlock::concat()assignsource public
assign( string $name , mixed $value )
Установить содержимое блока. Это перезапишет любое существующее содержимое.
Параметры
- string
$name - Имя блока
- mixed
$value - Содержимое блока.
См. также
ViewBlock::set()blockssource public
blocks( )
Получить имена всех существующих блоков.
Возвращает
arrayМассив, содержащий блоки.
См. также
ViewBlock::keys()elementsource public
element( string $name , array $data array() , array $options array() )
Отображает фрагмент PHP с предоставленными параметрами и возвращает HTML, XML или любую другую строку.
Реализует концепцию элементов (или «частичных макетов»), и массив $params используется для отправки данных, которые будут использоваться в элементе. Элементы могут быть кэшированы, что улучшает производительность с использованием опции cache.
Параметры
- string
$name - Имя файла шаблона в каталоге /app/View/Elements/, или
MyPlugin.templateдля использования шаблона элемента из MyPlugin. Если элемент не найден в плагине, будет выполнено обычное обращение к пути к представлению. - array
$dataнеобязательно массив() - Массив данных, которые должны быть доступны для рендеринга представления (т.е. элемента)
- array
$optionsнеобязательно массив() - Массив опций. Возможные ключи: -
cache- Может бытьtrue, чтобы включить кэширование, используя конфигурацию в View::$elementCache. Или массив. Если массив, следующие ключи могут быть использованы: -config- Используется для хранения кэшированного элемента в пользовательской конфигурации кэша. -key- Используется для определения ключа, используемого в Cache::write(). Он будет префиксами сelement_-plugin- (устарело!) Загрузка элемента из определённого плагина. Этот параметр устарел и будет удалён в CakePHP 3.0. ИспользуйтеPlugin.element_nameвместо него. -callbacks- Установите в true, чтобы вызвать колбеки helpers beforeRender и afterRender для этого элемента. По умолчанию false. -ignoreMissing- Используется для разрешения отсутствия элементов. Установите в true, чтобы не генерировать уведомления.
Возвращает
stringОтображённый элемент
elementExistssource public
elementExists( string $name )
Проверяет наличие элемента
Параметры
- string
$name - Имя файла шаблона в каталоге /app/View/Elements/, или
MyPlugin.templateдля проверки шаблона элемента из MyPlugin. Если элемент не найден в плагине, будет выполнено обычное обращение к пути к представлению.
Возвращает
booleanРезультат проверки
endsource public
end( )
Завершить блок захвата. Комплементарное действие к View::start()
См. также
ViewBlock::end()existssource public
exists( string $name )
Проверить существование блока
Параметры
- string
$name - Имя блока
Возвращает
booleantrue/false
extendsource public
extend( string $name )
Обеспечивает расширение/наследование представлений или элементов. Представления могут расширять родительское представление и заполнять блоки в родительском шаблоне.
Параметры
- string
$name - Представление или элемент для 'расширения' текущего.
Выбрасывает
LogicExceptionпри расширении представления самим собой или при создании циклов расширения.
LogicExceptionпри расширении элемента, которого не существует
fetchsource public
fetch( string $name , string $default '' )
Получить содержимое блока. Если блок пустой или не определён, возвращается ''.
Параметры
- string
$name - Имя блока
- string
$defaultнеобязательно '' - Текст по умолчанию
Возвращает
stringСодержимое блока или $default, если блок не существует.
См. также
ViewBlock::get()getsource public
get( string $var , mixed $default null )
Возвращает содержимое заданной переменной представления.
Параметры
- string
$var - Переменная представления, содержимое которой нужно получить.
- mixed
$defaultнеобязательно null - Значение по умолчанию/fallback для $var.
Возвращает
mixedСодержимое переменной, если она задана, иначе $default.
getCurrentTypesource public
getCurrentType( )
Получить текущий тип представления
Возвращает
stringстрока
getEventManagersource public
getEventManager( )
Возвращает экземпляр менеджера CakeEventManager, который обрабатывает любые колбеки. Можно использовать этот экземпляр для регистрации новых слушателей или колбеков на события контроллера или создавать свои собственные события и вызывать их.
Возвращает
CakeEventManagerCakeEventManager
getVarsource public
getVar( string $var )
Возвращает содержимое заданной переменной представления
Устарело
3.0.0 Будет удалено в 3.0. Используйте View::get() вместо этого.Параметры
- string
$var - Переменная представления, содержимое которой нужно получить.
Возвращает
mixedСодержимое переменной, если она задана, иначе null.
getVarssource public
getVars( )
Возвращает список переменных, доступных в текущем контексте представления
Возвращает
arrayМассив имён заданных переменных представления.
loadHelpersource public
loadHelper( string $helperName , array $settings array() )
Загружает helper. Делегирует задачу загрузки helper в HelperCollection::load()
Параметры
- string
$helperName - Имя helper для загрузки.
- array
$settingsнеобязательно массив() - Настройки для helper
Возвращает
HelperОбъект загруженного helper.
См. также
HelperCollection::load()loadHelperssource public
loadHelpers( )
Взаимодействие с HelperCollection для загрузки всех helpers.
pluginSplitsource public
pluginSplit( string $name , boolean $fallback true )
Разделяет имя плагина в формате точка на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет равен null. Проверяет, загружен ли плагин, в противном случае имя файла остается неизменным для имен файлов, содержащих точку.
Параметры
- строка
$name - Имя плагина, которое вы хотите разделить.
- логическое значение
$fallbackнеобязательно true - Если true, использует плагин, установленный в текущем CakeRequest, когда загруженный плагин не найден.
Возвращаемое значение
arrayМассив с 2 индексами. 0 => имя плагина, 1 => имя файла
prependsource public
prepend( string $name , mixed $value null )
Добавляет в начало существующего или нового блока. Добавление в начало нового блока создаст этот блок.
Параметры
- строка
$name - Имя блока
- смешанное значение
$valueнеобязательно null - Содержание блока.
См. также
ViewBlock::concat()rendersource public
render( string $view null , string $layout null )
Отображает представление для заданного файла представления и макета.
Отображение вызывает обратные вызовы помощников, которые вызываются до и после отображения представления, а также до и после макета. Обратные вызовы помощников вызываются:
beforeRenderafterRenderbeforeLayoutafterLayout
Если View::$autoRender равен false и не указано $layout, представление будет возвращено без обработки.
Имена представлений и макетов могут ссылаться на представления/макеты плагинов. Используя синтаксис Plugin.view, можно использовать представление/макет плагина вместо приложения. Если выбранный плагин не найден, представление будет найдено в стандартном пути к представлениям.
Параметры
- строка
$viewнеобязательно null - Имя файла представления для использования
- строка
$layoutнеобязательно null - Используемый макет.
Возвращаемое значение
string|nullОтображенное содержимое или null, если содержимое уже было отображено и возвращено ранее.
Исключения
CakeExceptionЕсли возникла ошибка в представлении.
Вызывает
View.beforeRender $this, массив($viewFileName)View.afterRender $this, массив($viewFileName)
renderCachesource public
renderCache( string $filename , string $timeStart )
Отображение кэшированного представления. Работает совместно с CacheHelper и Dispatcher для отображения кэшированных файлов представлений.
Параметры
- строка
$filename - файл кэша для включения
- строка
$timeStart - время начала рендеринга страницы
Возвращаемое значение
booleanУспешность рендеринга кэшированного файла.
renderLayoutsource public
renderLayout( string $content , string $layout null )
Отображает макет. Возвращает вывод из _render(). Возвращает false при ошибке. Несколько переменных создаются для использования в макете.
-
title_for_layout- Задний совместимый маркер, вы должны установить это значение, если хотите больше контроля. -
content_for_layout- содержит рендеренный файл представления -
scripts_for_layout- Содержит добавленное содержимое с addScript(), а также любое содержимое в блоках 'meta', 'css' и 'script'. Они добавляются в указанном порядке.
Устаревшие функции:
-
$scripts_for_layoutустарело и будет удалено в CakePHP 3.0. Используйте вместо этого возможности блоков.meta,cssиscriptбудут заполнены соответствующими методами HtmlHelper. -
$title_for_layoutустарело и будет удалено в CakePHP 3.0. Используйте вместо этого блокtitle. -
$content_for_layoutустарело и будет удалено в CakePHP 3.0. Используйте вместо этого блокcontent.
Параметры
- строка
$content - Содержимое для отображения в представлении, обернутое окружающим макетом.
- строка
$layoutнеобязательно null - Имя макета
Возвращаемое значение
mixedОтображенный вывод или false при ошибке
Исключения
CakeExceptionесли возникла ошибка в представлении.
Вызывает
View.beforeLayout $this, массив($layoutFileName)View.afterLayout $this, массив($layoutFileName)
setsource public
set( string|array $one , string|array $two null )
Позволяет шаблону или элементу задать переменную, которая будет доступна в макете или другом элементе. Аналогично Controller::set().
Параметры
- строка|массив
$one - Строка или массив данных.
- строка|массив
$twoнеобязательно null - Значение в случае, если $one является строкой (которая затем работает как ключ). Не используется, если $one - ассоциативный массив, в противном случае служит в качестве значений для ключей $one.
startsource public
start( string $name )
Начать захват вывода для 'блока'
Параметры
- строка
$name - Имя блока, для которого нужно захватить вывод.
См. также
ViewBlock::start()startIfEmptysource public
startIfEmpty( string $name )
Начать захват вывода для 'блока', если он пуст
Параметры
- строка
$name - Имя блока, для которого нужно захватить вывод.
См. также
ViewBlock::startIfEmpty()uuidsource public
uuid( string $object , string $url )
Генерирует уникальный, не случайный идентификатор DOM для объекта, на основе типа объекта и целевого URL.
Параметры
- строка
$object - Тип объекта, например 'форма' или 'ссылка'
- строка
$url - Целевой URL объекта
Возвращаемое значение
stringстрока
Методы, унаследованные от Object
_mergeVarssource protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства $property этого объекта со свойствами в определении $class. Значение этого класса для свойства будет объединено поверх значения $class'
Это обеспечивает часть "DRY" магии CakePHP. Если вы хотите её отключить, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- логическое значение
$normalizeнеобязательно true - Установить в значение true для прохождения свойств через Hash::normalize() перед объединением.
_setsource protected
_set( array $properties array() )
Позволяет задавать несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stopsource protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- целое число|строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethodsource public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет ОО-обёртку для call_user_func_array.
Параметры
- строка
$method - Имя вызываемого метода
- массив
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращаемое значение
mixedВозвращает результат вызова метода
logsource 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Результат записи в лог
requestActionsource 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 при успехе/неудачи, или содержимое рендерного действия, если в $extra установлен 'return'.
toStringsource public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по необходимости.
Возвращаемое значение
stringНазвание этого класса
Краткое описание констант
string | TYPE_ELEMENT Константа для типа файла представления 'element' | 'element' |
string | TYPE_LAYOUT Константа для типа файла представления 'layout' | 'layout' |
string | TYPE_VIEW Константа для типа файла представления 'view' | 'view' |
Краткое описание свойств
Краткое описание магических свойств
$Cachesource
public CacheHelper
$Formsource
public FormHelper
$Htmlsource
public HtmlHelper
$Numbersource
public NumberHelper
$Paginatorsource
public PaginatorHelper
$Sessionsource
public SessionHelper
$Textsource
public TextHelper
$Timesource
public TimeHelper
© 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.7/class-View.html