Класс Представление
Представление, V в триаде MVC. Представление взаимодействует с помощниками и переменными представления, переданными контроллером, чтобы отобразить результаты действия контроллера. Часто это HTML, но также может принимать форму JSON, XML, PDF или потоковых файлов.
CakePHP использует двухэтапную модель представления. Это означает, что сначала отображается содержимое шаблона, а затем оно вставляется в выбранное макетное разметку. Это также означает, что вы можете передавать данные из шаблона в макетное разметку, используя $this->set()
Класс представления поддерживает использование плагинов в качестве тем. Вы можете установить
public function beforeRender(\Cake\Event\Event $event)
{
$this->viewBuilder()->setTheme('SuperHot');
} в вашем контроллере, чтобы использовать плагин SuperHot в качестве темы. Например, если текущее действие — PostsController::index(), то класс представления будет искать файл шаблона plugins/SuperHot/Template/Posts/index.ctp. Если шаблон темы для текущего действия не найден, используется файл шаблона приложения по умолчанию.
- Cake\View\View реализует Cake\Event\EventDispatcherInterface использует Cake\View\CellTrait , Cake\Event\EventDispatcherTrait , Cake\Log\LogTrait , Cake\Routing\RequestActionTrait , Cake\View\ViewVarsTrait
Непосредственные подклассы
Косвенные подклассы
Резюме констант
-
stringNAME_ELEMENT'Element' -
stringNAME_TEMPLATE'Template' -
stringTYPE_ELEMENT'element' -
stringTYPE_LAYOUT'layout' -
stringTYPE_TEMPLATE'view' -
stringTYPE_VIEW'view'
Резюме свойств
- Экземпляр ViewBlock.
$Blocksprotected -
$_currentprotectedФайл представления, который в данный момент отображается. Используется для разрешения родительских файлов.string -
$_currentTypeprotectedstringВ настоящее время отображается элемент. Используется для поиска родительских фрагментов для элементов.
-
$_extprotectedРасширение файла. По умолчанию используется шаблон CakePHP ".ctp".string - Коллекция помощников
$_helpersprotected -
$_parentsprotectedИмена представлений и их родителей, используемых с View::extend();array -
$_passedVarsprotectedСписок переменных для сбора из связанного контроллера.array -
$_pathsprotectedСодержит массив путей.array -
$_pathsForPluginprotectedСодержит массив путей плагинов.array -
$_stackprotectedСтек содержимого, используемый для вложенных шаблонов, которые все используют View::extend();array -
$_viewBlockClassprotectedКласс ViewBlock.string -
$autoLayoutprotectedbooleanВключает или отключает стандартный режим CakePHP по применению файлов макетов. Включен по умолчанию. Отключение означает, что макеты не будут автоматически применяться к отображаемым шаблонам.
-
$elementCacheprotectedstringКонфигурация кэша, которую будет использовать представление для хранения кэшированных элементов. Изменение этой конфигурации изменит конфигурацию по умолчанию, под которой хранятся элементы. Вы также можете выбрать конфигурацию кэша для каждого элемента.
-
$hasRenderedpublicИстинно, когда представление было отображено.boolean -
$helpersprotectedМассив имён встроенных помощников для включения.array -
$layoutprotectedstringИмя файла макета, в который будет отображен шаблон. Указанное имя является именем файла макета в /src/Template/Layout без расширения .ctp.
-
$layoutPathprotectedИмя подпапки макетов, содержащей макеты для этого представления.string -
$nameprotectedИмя контроллера, который создал представление, если таковой имеется.string -
$passedArgspublicТекущие переданные параметры. Передаются в представление от создающего контроллера для удобства.array -
$pluginprotectedИмя плагина.string|null -
$requestprotectedЭкземпляр объекта \Cake\Http\ServerRequest, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.
- Ссылка на объект Response
$responseprotected -
$subDirprotectedstringПодкаталог для этого файла шаблона. Это часто используется для маршрутизации на основе расширения. Например, с расширением
xml, $subDir будетxml/ -
$templateprotectedstringИмя файла шаблона для отображения. Указанное имя — имя файла в /src/Template/
без расширения .ctp. -
$templatePathprotectedИмя подкаталога, содержащего шаблоны для этого представления.string -
$themeprotectedТема представления для использования.string|null -
$uuidspublicСписок сгенерированных UUID DOM.array
Резюме магических свойств
-
$Blockspublic -
$Breadcrumbspublic -
$Flashpublic -
$Formpublic -
$Htmlpublic -
$Numberpublic -
$Paginatorpublic -
$Rsspublic -
$Sessionpublic -
$Textpublic -
$Timepublic -
$Urlpublic -
$viewpublicstring -
$viewPathpublicstring
Наследуемые магические свойства
Наследуемые свойства
Краткое описание методов
- __construct() publicКонструктор
- __get() publicМагический метод доступа к помощникам.
- __set() publicМагический метод установки устаревших свойств.
- _checkFilePath() protectedПроверка, что путь к файлу представления не выходит за пределы определенных путей шаблонов.
- _elementCache() protectedГенерация конфигурации кеша для элемента.
- _evaluate() protectedМетод для оценки шаблона/скрипта представления в защищенной среде.
- _getElementFileName() protectedПоиск имени файла элемента, возвращает false при ошибке.
- _getLayoutFileName() protectedВозвращает имя файла макета для данного шаблона в виде строки.
- _getSubPaths() protected
Поиск всех путей до подшаблонов, основываясь на $basePath. Если в текущем запросе определён префикс, этот метод добавит префиксный путь шаблона к $basePath, поднимаясь по иерархии, если префикс вложен. В основном используется для поиска префиксных путей шаблонов для элементов и макетов.
- _getViewFileName() protected
Возвращает имя файла шаблона для данного действия (.ctp) в виде строки. Имена действий с верблюжью нотацией по умолчанию преобразуются в нижний регистр с символом подчеркивания. Это означает, что вы можете иметь LongActionNames, которые ссылаются на представления long_action_names.ctp. Вы можете изменить правило преобразования, переопределив _inflectViewFileName.
- _inflectViewFileName() protectedИзменение имени файла шаблона представления в формат с подчеркиванием.
- _paths() protectedВозвращает все возможные пути для поиска файлов представления в порядке.
- _render() protected
Отображает и возвращает вывод для данного файла шаблона с массивом данных. Обрабатывает родительские/расширенные шаблоны.
- _renderElement() protected
Отображает элемент и вызывает обратные вызовы before и afterRender для него, записывает в кеш, если используется кеширование.
- append() publicДобавление к существующему или новому блоку.
- assign() public
Устанавливает содержимое блока. Заменяет любое существующее содержимое.
-
Включает или выключает стандартный режим CakePHP по применению файлов макета. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к отображаемым шаблонам.
- blocks() publicПолучение имён всех существующих блоков.
- cache() publicСоздание кэшированного блока логики представления.
- disableAutoLayout() publicОтключение стандартного режима CakePHP по применению файлов макета.
- element() publicОтображение фрагмента PHP с предоставленными параметрами и возвращение HTML, XML или любой другой строки.
- elementExists() publicПроверка существования элемента
- enableAutoLayout() public
Включает или выключает стандартный режим CakePHP по применению файлов макета. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к отображаемым представлениям.
- end() publicЗакрытие блока захвата. Комплементарное методу View::start()
- exists() publicПроверка существования блока
- extend() public
Предоставляет расширение/наследование шаблонов или элементов. Представления могут расширять родительское представление и заполнять блоки в родительском шаблоне.
- fetch() public
Получение содержимого блока. Если блок пуст или неопределён, возвращается ''.
- get() publicВозвращает содержимое заданной переменной представления.
- getCurrentType() publicПолучение текущего типа представления
- getLayout() public
Получение имени файла макета для отображения шаблона внутри. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
- getLayoutPath() publicПолучение пути к файлам макетов.
- getName() publicВозвращает имя контроллера представления.
- getPlugin() publicВозвращает имя плагина.
- getRequest() publicПолучение экземпляра запроса.
- getResponse() publicПолучение экземпляра ответа.
- getSubDir() publicПолучение подкаталога для файлов данного шаблона.
- getTemplate() public
Получение имени файла шаблона для отображения. Указанное имя — это имя файла в /src/Template/<подкаталог> без расширения .ctp.
- getTemplatePath() publicПолучение пути к файлам шаблонов.
- getTheme() publicПолучение текущей темы представления.
- getVars() publicВозвращает список переменных, доступных в текущем контексте представления.
- helpers() publicПолучение реестра помощников, используемого этим классом представления.
- initialize() publicМетод инициализации.
- isAutoLayoutEnabled() public
Возвращает, включён ли стандартный режим CakePHP по применению файлов макета. Отключено — макеты не будут автоматически применяться к отображаемым представлениям.
-
Получение/установка имени файла макета для отображения шаблона внутри. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
- Получение/установка пути к файлам макетов.
- loadHelper() publicЗагрузка помощника. Делегирует загрузку помощника в
HelperRegistry::load(). - loadHelpers() publicВзаимодействие с HelperRegistry для загрузки всех помощников.
- pluginSplit() public
Разделяет имя плагина в формате точка на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет null. Проверяет, загружен ли плагин, иначе имя файла остаётся неизменным для имён файлов, содержащих точку.
- prepend() publicДобавление в начало существующего или нового блока.
- render() publicОтображение представления для данного файла шаблона и макета.
- renderLayout() public
Отображение макета. Возвращает вывод из _render(). Возвращает false при ошибке. Создаются несколько переменных для использования в макете.
- reset() public
Сброс содержимого блока. Заменяет любое существующее содержимое.
- setElementCache() publicУстановка конфигурации кеша, которую будет использовать представление для хранения кэшированных элементов.
- setLayout() public
Установка имени файла макета для отображения шаблона внутри. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
- setLayoutPath() publicУстановить путь к файлам макета.
- setPlugin() publicУстанавливает имя плагина.
- setRequest() public
Устанавливает объекты запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Свойства, которые устанавливаются:
- setResponse() publicУстанавливает экземпляр ответа.
- setSubDir() publicУстановить подкаталог для файлов шаблонов.
- setTemplate() public
Установить имя файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/
без расширения .ctp. - setTemplatePath() publicУстановить путь к файлам шаблонов.
- setTheme() publicУстановить тему представления, которую следует использовать.
- start() publicНачать захват вывода для блока
-
Получение/установка имени файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/
без расширения .ctp. - Получить/установить путь к файлам шаблонов.
- Тема представления для использования.
- Генерирует уникальный, неслучайный идентификатор DOM для объекта на основе типа объекта и целевого URL.
Подробное описание методов
__construct()source public
__construct( Cake\Http\ServerRequest $request = null , Cake\Http\Response $response = null , Cake\Event\EventManager $eventManager = null , array $viewOptions = [] )
Конструктор
Параметры
-
Cake\Http\ServerRequest$requestoptional null - Экземпляр запроса.
-
Cake\Http\Response$responseoptional null - Экземпляр ответа.
-
Cake\Event\EventManager$eventManageroptional null - Экземпляр менеджера событий.
- массив
$viewOptionsoptional [] Параметры представления. См. View::$_passedVars для списка параметров, которые устанавливаются в качестве свойств класса.
__get()source public
__get( string $name )
Магический доступ к помощникам.
Параметры
- строка
$name - Имя атрибута для получения.
Возвращает
смешанный__set()source public
__set( string $name , mixed $value )
Магический установщик для устаревших свойств.
Параметры
- строка
$name - Имя свойства.
- смешанный
$value - Значение свойства.
_checkFilePath()source protected
_checkFilePath( string $file , string $path )
Проверка, что путь к файлу представления не выходит за пределы определенных путей шаблонов.
Только пути, содержащие .., будут проверены, поскольку они наиболее вероятны, чтобы иметь возможность разрешить ссылки на файлы за пределами путей шаблонов.
Параметры
- строка
$file - Путь к файлу шаблона.
- строка
$path - Базовый путь, внутри которого должен находиться $file.
Возвращает
строкаПуть к файлу
Выбрасывает
InvalidArgumentException_elementCache()source protected
_elementCache( string $name , array $data , array $options )
Генерация параметров конфигурации кеша для элемента.
Параметры
- строка
$name - Имя элемента
- массив
$data - Данные
- массив
$options - Параметры элемента
Возвращает
массивКонфигурация кеша элемента.
_evaluate()source protected
_evaluate( string $viewFile , array $dataForView )
Метод проверки для оценки скрипта шаблона/представления.
Параметры
- строка
$viewFile - Имя файла представления
- массив
$dataForView - Данные для включения в рендеренное представление.
Возвращает
строкаРезультат рендеринга
_getElementFileName()source protected
_getElementFileName( string $name , boolean $pluginCheck = true )
Поиск имени файла элемента, возвращает false при неудаче.
Параметры
- строка
$name - Имя элемента для поиска.
- логическое значение
$pluginCheckoptional true - если false, игнорирует плагин запроса, если обработанный плагин не загружен
Возвращает
строка|ложьСтрока с именем файла элемента или false, если файл не найден.
_getLayoutFileName()source protected
_getLayoutFileName( string|null $name = null )
Возвращает имя файла макета для данного шаблона в виде строки.
Параметры
- строка|null
$nameoptional null - Имя макета для поиска.
Возвращает
строкаИмя файла макета (.ctp).
Выбрасывает
Cake\View\Exception\MissingLayoutExceptionпри невозможности найти макет
_getSubPaths()source protected
_getSubPaths( string $basePath )
Находит все пути подшаблонов, основанные на $basePath. Если в текущем запросе определен префикс, этот метод добавит префиксный путь шаблона к $basePath, с последующим подходом в случае вложенного префикса. Это используется для поиска префиксных путей шаблонов для элементов и макетов.
Параметры
- строка
$basePath - Базовый путь, для которого нужно получить префиксный.
Возвращает
массивМассив со всеми путями шаблонов.
_getViewFileName()source protected
_getViewFileName( string|null $name = null )
Возвращает имя файла шаблона для данного действия (.ctp) в виде строки. Имена действий с использованием CamelCase будут преобразовываться в нижний регистр с подчеркиванием по умолчанию. Это означает, что вы можете иметь LongActionNames, которые ссылаются на представления long_action_names.ctp. Вы можете изменить правило склонения, переопределив _inflectViewFileName.
Параметры
- строка|null
$nameoptional null - Действие контроллера для поиска имени файла шаблона
Возвращает
строкаИмя файла шаблона
Выбрасывает
Cake\View\Exception\MissingTemplateExceptionпри невозможности найти файл представления.
_inflectViewFileName()source protected
_inflectViewFileName( string $name )
Изменение имени файла шаблона представления в нижний регистр с подчеркиванием.
Параметры
- строка
$name - Имя файла, которое нужно склонять.
Возвращает
строкаИмя файла после преобразования
_paths()source protected
_paths( string|null $plugin = null , boolean $cached = true )
Возвращение всех возможных путей для поиска файлов представления в порядке
Параметры
- строка|null
$pluginoptional null - Необязательное имя плагина для поиска файлов представления.
- логическое значение
$cachedoptional true - Установите в значение false, чтобы принудительно обновить пути представления. По умолчанию true.
Возвращает
массивпути
_render()source protected
_render( string $viewFile , array $data = [] )
Отображает и возвращает вывод для заданного имени файла шаблона с его массивом данных. Обрабатывает родительские/расширенные шаблоны.
Параметры
- string
$viewFile - Имя файла представления
- array
$dataнеобязательно [] Данные для включения в отображаемое представление. Если пусто, будут использованы текущие View::$viewVars.
Возвращает
stringОтображенный вывод
Выбрасывает
LogicExceptionКогда блок оставлен открытым.
Вызывает
View.beforeRenderFile $this, [$viewFile]View.afterRenderFile $this, [$viewFile, $content]
_renderElement()source protected
_renderElement( string $file , array $data , array $options )
Отображает элемент и вызывает обратные вызовы before и afterRender для него, записывает в кэш, если используется кэширование.
Параметры
- string
$file - Путь к файлу элемента
- array
$data - Данные для отображения
- array
$options - Параметры элемента
Возвращает
stringВызывает
View.beforeRender $this, [$file]View.afterRender $this, [$file, $element]
append()source public
append( string $name , mixed $value = null )
Добавить к существующему или новому блоку.
Добавление к новому блоку создаст этот блок.
Параметры
- string
$name - Имя блока
- mixed
$valueнеобязательно null Содержание блока. Значение будет приведено к строковому типу.
Возвращает
$this
См. также
\Cake\View\ViewBlock::concat()assign()source public
assign( string $name , mixed $value )
Установить содержимое блока. Это перезапишет любое существующее содержимое.
Параметры
- string
$name - Имя блока
- mixed
$value Содержание блока. Значение будет приведено к строковому типу.
Возвращает
$this
См. также
\Cake\View\ViewBlock::set()autoLayout()source public deprecated
autoLayout( boolean|null $autoLayout = null )
Включает или выключает стандартный режим CakePHP для применения файлов макета. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к отображаемым шаблонам.
Устарело
3.5.0 Используйте isAutoLayoutEnabled()/enableAutoLayout() вместо этого.Параметры
- boolean|null
$autoLayoutнеобязательно null - Логическое значение для включения/выключения. Если null, возвращает текущее значение.
Возвращает
boolean|nullblocks()source public
blocks( )
Получить имена всех существующих блоков.
Возвращает
arrayМассив, содержащий блоки.
См. также
\Cake\View\ViewBlock::keys()cache()source public
cache( callable $block , array $options = [] )
Создать кэшированный блок логики представления.
Это позволяет кэшировать блок вывода представления в кэше, определенном в elementCache.
Этот метод сначала попытается прочитать кэш. Если кэш пуст, $block будет выполнен, и вывод будет сохранен.
Параметры
- callable
$block - Блок кода, вывод которого вы хотите кэшировать.
- array
$optionsнеобязательно [] - Параметры, определяющие ключ кэша и т.д.
Возвращает
stringСодержимое рендеринга.
Выбрасывает
RuntimeExceptionЕсли в $options отсутствует параметр 'key'.
disableAutoLayout()source public
disableAutoLayout( )
Отключает стандартный режим CakePHP по применению файлов макета.
Макеты не будут автоматически применяться к отрисовываемым представлениям.
Возвращает
$this
element()source public
element( string $name , array $data = [] , array $options = [] )
Отображает фрагмент PHP с предоставленными параметрами и возвращает HTML, XML или любую другую строку.
Реализует концепцию элементов (или «частичных макетов»), и массив $params используется для отправки данных, которые будут использованы в элементе. Элементы можно кэшировать, повышая производительность, используя опцию cache.
Параметры
- строка
$name Имя файла шаблона в папке /src/Template/Element/, или
MyPlugin.templateдля использования шаблона элемента из MyPlugin. Если элемент не найден в плагине, будет произведён поиск по стандартному пути представления.- массив
$dataнеобязательный [] - Массив данных, которые должны быть доступны для отрисовываемого представления (т.е. элемента).
- массив
$optionsнеобязательный [] Массив опций. Возможные ключи: -
cache- Может бытьtrue, для включения кэширования с использованием конфигурации в View::$elementCache. Или массив. Если массив, следующие ключи могут быть использованы: -config- Используется для хранения кэшированного элемента в пользовательской конфигурации кэша. -key- Используется для определения ключа, используемого в Cache::write(). Он будет префиксен сelement_-callbacks- Устанавливается в true для вызова обратных вызовов вспомогательных функций beforeRender и afterRender для этого элемента. По умолчанию false. -ignoreMissing- Используется для обработки отсутствующих элементов. Установите в true, чтобы не генерировать исключения. -plugin- установка в false заставит использовать элемент приложения из шаблонов плагина, когда плагин имеет элемент с тем же именем. По умолчанию true
Возвращает
строкаОтображенный элемент
Исключение
Cake\View\Exception\MissingElementExceptionКогда элемент отсутствует, и ignoreMissing имеет значение false.
elementExists()source public
elementExists( string $name )
Проверяет наличие элемента
Параметры
- строка
$name Имя файла шаблона в папке /src/Template/Element/, или
MyPlugin.templateдля проверки шаблона элемента из MyPlugin. Если элемент не найден в плагине, будет произведён поиск по стандартному пути представления.
Возвращает
логическое значениеУспех
enableAutoLayout()source public
enableAutoLayout( boolean $enable = true )
Включает или отключает стандартный режим CakePHP по применению файлов макета. Включено по умолчанию. Выключение означает, что макеты не будут автоматически применяться к отрисовываемым представлениям.
Параметры
- логическое значение
$enableнеобязательный true - Логическое значение для включения/выключения.
Возвращает
$this
end()source public
end( )
Завершает блок захвата. Комплементарная функция к View::start()
Возвращает
$this
См. также
\Cake\View\ViewBlock::end()exists()source public
exists( string $name )
Проверка наличия блока
Параметры
- строка
$name - Имя блока
Возвращает
логическое значениеextend()source public
extend( string $name )
Обеспечивает расширение/наследование шаблона или элемента. Представления могут расширять родительское представление и заполнять блоки в родительском шаблоне.
Параметры
- строка
$name - Шаблон или элемент, с которым следует «расширить» текущий.
Возвращает
$this
Исключение
LogicExceptionпри расширении шаблона самим собой или создании циклов расширения.
LogicException
при расширении несуществующего элемента
fetch()source public
fetch( string $name , string $default = '' )
Извлечь содержимое блока. Если блок пуст или не определен, возвращается «».
Параметры
- строка
$name - Имя блока
- строка
$defaultнеобязательно '' - Текст по умолчанию
Возвращает
строкаСодержимое блока или $default, если блок не существует.
См. также
\Cake\View\ViewBlock::get()get()source public
get( string $var , mixed $default = null )
Возвращает содержимое заданной переменной представления.
Параметры
- строка
$var - Переменная представления, содержимое которой нужно получить.
- смешанный
$defaultнеобязательно null - Значение по умолчанию/резервное содержимое переменной $var.
Возвращает
смешанныйСодержимое указанной переменной, если она задана, в противном случае $default.
getCurrentType()source public
getCurrentType( )
Получить текущий тип представления
Возвращает
строкаgetLayout()source public
getLayout( )
Получить имя файла макета для отображения шаблона внутри него. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
Возвращает
строкаgetName()source public
getName( )
Возвращает имя контроллера представления.
Возвращает
строка|nullС тех пор как
3.7.7getPlugin()source public
getPlugin( )
Возвращает имя плагина.
Возвращает
строка|nullС тех пор как
3.7.0getRequest()source public
getRequest( )
Получает экземпляр запроса.
Возвращает
Cake\Http\ServerRequestС тех пор как
3.7.0getResponse()source public
getResponse( )
Получает экземпляр ответа.
Возвращает
Cake\Http\ResponseС тех пор как
3.7.0getSubDir()source public
getSubDir( )
Получить поддиректорию для файлов шаблона.
Возвращает
строкаСм. также
\Cake\View\View::$subDirС тех пор как
3.7.0getTemplate()source public
getTemplate( )
Получить имя файла шаблона для отображения. Указанное имя — это имя файла в /src/Template/<подпапка> без расширения .ctp.
Возвращает
строкаgetTemplatePath()source public
getTemplatePath( )
Получить путь к файлам шаблонов.
Возвращает
строкаgetVars()source public
getVars( )
Возвращает список переменных, доступных в текущем контексте представления
Возвращает
строка[]Массив имен установленных переменных представления.
helpers()source public
helpers( )
Получить используемый регистр помощников этого класса представления.
Возвращает
Cake\View\HelperRegistryinitialize()source public
initialize( )
Метод обработчика инициализации.
Свойства, такие как $helpers и т. д., нельзя инициализировать статически в вашем пользовательском классе представления, так как они перезаписываются значениями из контроллера в конструкторе. Поэтому этот метод позволяет манипулировать ими по мере необходимости после создания экземпляра представления.
isAutoLayoutEnabled()source public
isAutoLayoutEnabled( )
Возвращает, включен ли стандартный режим CakePHP по применению файлов макета. Выключено означает, что макеты не будут автоматически применяться к отображаемым представлениям.
Возвращает
booleanlayout()source public устарело
layout( string|null $name = null )
Получить/установить имя файла макета для отображения шаблона внутри него. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
Устарело
3.5.0 Используйте getLayout()/setLayout() вместо этого.Параметры
- строка|null
$nameнеобязательно null - Имя файла макета для установки. Если null, возвращает текущее имя.
Возвращает
строка|nulllayoutPath()source public устарело
layoutPath( string|null $path = null )
Получить/установить путь к файлам макета.
Устарело
3.5.0 Используйте getLayoutPath()/setLayoutPath() вместо этого.Параметры
- строка|null
$pathнеобязательно null - Путь к файлам макета. Если null, возвращает текущий путь.
Возвращает
строка|nullloadHelper()source public
loadHelper( string $name , array $config = [] )
Загружает помощника. Делегирует в HelperRegistry::load() для загрузки помощника
Параметры
- строка
$name - Имя помощника для загрузки.
- массив
$configнеобязательно [] - Настройки для помощника
Возвращает
Cake\View\Helperобъект построенного помощника.
См. также
\Cake\View\HelperRegistry::load()loadHelpers()source public
loadHelpers( )
Взаимодействие с HelperRegistry для загрузки всех помощников.
Возвращает
$this
pluginSplit()source public
pluginSplit( string $name , boolean $fallback = true )
Разделяет имя плагина в формате «точка» на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет null. Проверяет, загружен ли плагин, в противном случае имя файла останется неизменным для имен файлов, содержащих точку.
Параметры
- строка
$name - Имя плагина, которое нужно разделить.
- boolean
$fallbackнеобязательно true - Если true, использует плагин, установленный в текущем запросе, при разборе не загруженного плагина
Возвращает
массивМассив с 2 индексами. 0 => имя плагина, 1 => имя файла
prepend()source public
prepend( string $name , mixed $value )
Добавить в начало существующего или нового блока.
Добавление в новый блок создаст этот блок.
Параметры
- строка
$name - Имя блока
- смешанное
$value Содержание блока. Значение будет преобразовано в строку.
Возвращает
$this
См. также
\Cake\View\ViewBlock::concat()render()source public
render( string|false|null $view = null , string|null $layout = null )
Отображает представление для заданного файла шаблона и макета.
Render вызывает обратные вызовы помощников, которые вызываются до и после рендеринга шаблона, а также до и после макета. Обратные вызовы помощников вызываются:
beforeRenderafterRenderbeforeLayoutafterLayout
Если View::$autoRender равен false и не указан $layout, шаблон будет возвращен без обработки.
Имена шаблона и макета могут указывать на шаблоны/макеты плагинов. Используя синтаксис Plugin.template, можно использовать шаблон/макет плагина вместо прикладных. Если выбранный плагин не найден, шаблон будет найден по стандартному пути к представлению.
Параметры
- строка|ложь|null
$viewдополнительный null - Имя файла представления для использования
- строка|null
$layoutдополнительный null - Используемый макет.
Возвращает
строка|nullОтображаемое содержимое или null, если содержимое уже отображено и возвращено ранее.
Выбрасывает
Cake\Core\Exception\ExceptionЕсли в представлении есть ошибка.
Вызывает
View.beforeRender $this, [$viewFileName]View.afterRender $this, [$viewFileName]
renderLayout()source public
renderLayout( string $content , string|null $layout = null )
Отображает макет. Возвращает вывод из _render(). Возвращает false при ошибке. Для использования в макете создаются несколько переменных.
Параметры
- строка
$content - Содержимое для отображения в шаблоне, обернутом окружающим макетом.
- строка|null
$layoutдополнительный null - Имя макета
Возвращает
смешанноеОтображаемый вывод или false при ошибке
Выбрасывает
Cake\Core\Exception\Exceptionесли в представлении есть ошибка.
Вызывает
View.beforeLayout $this, [$layoutFileName]View.afterLayout $this, [$layoutFileName]
reset()source public
reset( string $name )
Сбросить содержимое блока. Это перезапишет любое существующее содержимое.
Параметры
- строка
$name - Имя блока
Возвращает
$this
См. также
\Cake\View\ViewBlock::set()setElementCache()source public
setElementCache( string $elementCache )
Установить конфигурацию кэша, которую View будет использовать для хранения кэшированных элементов
Параметры
- строка
$elementCache - Имя конфигурации кэша.
Возвращает
$this
См. также
\Cake\View\View::$elementCacheС
3.7.0setLayout()source public
setLayout( string $name )
Установить имя файла макета для отображения шаблона внутри него. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
Параметры
- строка
$name - Имя файла макета для установки.
Возвращает
$this
setLayoutPath()source public
setLayoutPath( string $path )
Установить путь для файлов макета.
Параметры
- строка
$path - Путь для файлов макета.
Возвращает
$this
setPlugin()source public
setPlugin( string $name )
Устанавливает имя плагина.
Параметры
- строка
$name - Имя плагина.
Возвращает
$this
С
3.7.0setRequest()source public
setRequest( Cake\Http\ServerRequest $request )
Устанавливает объекты запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Устанавливаются следующие свойства:
- $this->request - В параметр $request
- $this->plugin - В значение, возвращаемое $request->getParam('plugin')
- $this->passedArgs - То же, что и $request->params['pass]
Параметры
-
Cake\Http\ServerRequest$request - Экземпляр запроса.
Возвращает
$this
С
3.7.0setResponse()source public
setResponse( Cake\Http\Response $response )
Устанавливает экземпляр ответа.
Параметры
-
Cake\Http\Response$response - Экземпляр ответа.
Возвращает
$this
С
3.7.0setSubDir()source public
setSubDir( string $subDir )
Установить подкаталог для файлов шаблонов.
Параметры
- строка
$subDir - Имя подкаталога.
Возвращает
$this
См. также
\Cake\View\View::$subDirС
3.7.0setTemplate()source public
setTemplate( string $name )
Установить имя файла шаблона для отображения. Указанное имя — имя файла в /src/Template/
Параметры
- строка
$name - Имя файла шаблона для установки.
Возвращает
$this
setTemplatePath()source public
setTemplatePath( string $path )
Установить путь для файлов шаблонов.
Параметры
- строка
$path - Путь для файлов шаблонов.
Возвращает
$this
setTheme()source public
setTheme( string|null $theme )
Установить используемую тему представления.
Параметры
- строка|null
$theme - Имя темы.
Возвращает
$this
start()source public
start( string $name )
Начать захват вывода для 'блока'
Вы можете использовать start для блока несколько раз, чтобы добавить или вставить содержимое в режиме захвата.
// Append content to an existing block.
$this->start('content');
echo $this->fetch('content');
echo 'Some new content';
$this->end();
// Prepend content to an existing block
$this->start('content');
echo 'Some new content';
echo $this->fetch('content');
$this->end(); Параметры
- строка
$name - Имя блока для захвата.
Возвращает
$this
См. также
\Cake\View\ViewBlock::start()template()source public deprecated
template( string|null $name = null )
Получить/установить имя файла шаблона для отображения. Указанное имя — имя файла в /src/Template/
Устарело
3.5.0 Используйте getTemplate()/setTemplate() вместо этого.Параметры
- строка|null
$nameдополнительный null - Имя файла шаблона для установки. Если null, возвращает текущее имя.
Возвращает
строка|nulltemplatePath()source public deprecated
templatePath( string|null $path = null )
Получить/установить путь к файлам шаблонов.
Устаревшее
3.5.0 Используйте getTemplatePath()/setTemplatePath() вместо этого.Параметры
- string|null
$pathнеобязательно null - Путь к файлам шаблонов. Если null, возвращает текущий путь.
Возвращает
string|nulltheme()source public deprecated
theme( string|null $theme = null )
Тема представления, которая будет использоваться.
Устаревшее
3.5.0 Используйте getTheme()/setTheme() вместо этого.Параметры
- string|null
$themeнеобязательно null - Имя темы. Если null, возвращает текущую тему.
Возвращает
string|nulluuid()source public deprecated
uuid( string $object , string $url )
Генерирует уникальный, не случайный идентификатор DOM для объекта, основанный на типе объекта и целевом URL.
Устаревшее
3.7.0 Этот метод устарел и будет удален в версии 4.0.0.Параметры
- string
$object - Тип объекта, например, 'форма' или 'ссылка'
- string
$url - Целевой URL объекта
Возвращает
stringМетоды, используемые из Cake\View\CellTrait
_createCell()source protected
_createCell( string $className , string $action , string $plugin , array $options )
Создаёт и настраивает экземпляр ячейки.
Параметры
- string
$className - Имя класса ячейки.
- string
$action - Имя действия.
- string
$plugin - Имя плагина.
- array
$options - Параметры конструктора для ячейки.
Возвращает
Cake\View\Cellcell()source protected
cell( string $cell , array $data = [] , array $options = [] )
Отображает заданную ячейку.
Пример:
// Taxonomy\View\Cell\TagCloudCell::smallList()
$cell = $this->cell('Taxonomy.TagCloud::smallList', ['limit' => 10]);
// App\View\Cell\TagCloudCell::smallList()
$cell = $this->cell('TagCloud::smallList', ['limit' => 10]); Действие display будет использоваться по умолчанию, если действие не указано:
// Taxonomy\View\Cell\TagCloudCell::display()
$cell = $this->cell('Taxonomy.TagCloud'); Ячейки отображаются только после вывода.
Параметры
- string
$cell Вы должны указать имя ячейки и, необязательно, действие ячейки. Например:
TagCloud::smallListвызоветView\Cell\TagCloudCell::smallList(), действиеdisplayбудет вызываться по умолчанию, если оно не указано.- array
$dataнеобязательно [] Дополнительные аргументы для метода ячейки. Например:
cell('TagCloud::smallList', ['a1' => 'v1', 'a2' => 'v2'])сопоставляется сView\Cell\TagCloud::smallList(v1, v2)- array
$optionsнеобязательно [] - Параметры для конструктора ячейки
Возвращает
Cake\View\CellЭкземпляр ячейки
Исключения
Cake\View\Exception\MissingCellExceptionЕсли класс ячейки не был найден.
BadMethodCallException
Если класс ячейки не указал действие ячейки.
Методы, используемые из Cake\Event\EventDispatcherTrait
dispatchEvent()source public
dispatchEvent( string $name , array|null $data = null , object|null $subject = null )
Обёртка для создания и отправки событий.
Возвращает отправленное событие.
Параметры
- string
$name - Имя события.
- array|null
$dataнеобязательно null Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.
- object|null
$subjectнеобязательно null Объект, к которому относится это событие (по умолчанию $this).
Возвращает
Cake\Event\EventeventManager()source public deprecated
eventManager( Cake\Event\EventManager $eventManager = null )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или создавать свои собственные события и запускать их по своему желанию.
Устаревшее
3.5.0 Используйте getEventManager()/setEventManager() вместо этого.Параметры
-
Cake\Event\EventManager$eventManagerнеобязательно null - менеджер событий для установки
Возвращает
Cake\Event\EventManagergetEventManager()source public
getEventManager( )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или создавать свои собственные события и запускать их по своему желанию.
Возвращает
Cake\Event\EventManagersetEventManager()source public
setEventManager( Cake\Event\EventManager $eventManager )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или создавать свои собственные события и запускать их по своему желанию.
Параметры
-
Cake\Event\EventManager$eventManager - менеджер событий для установки
Возвращает
$this
Методы, используемые из Cake\Log\LogTrait
log()source public
log( mixed $msg , integer|string $level = LogLevel::ERROR , string|array $context = [] )
Удобный метод для записи сообщения в журнал. См. Log::write() для получения дополнительной информации о записи в журналы.
Параметры
- mixed
$msg - Сообщение журнала.
- integer|string
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- string|array
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
booleanРезультат записи в журнал.
Методы, используемые из Cake\Routing\RequestActionTrait
requestAction()source public deprecated
requestAction( string|array $url , array $extra = [] )
Вызывает метод контроллера из любого места. Может использоваться для соединения контроллеров или связи плагинов с основным приложением. requestAction может использоваться для возврата рендеренных представлений или получения возвращаемого значения из действий контроллеров.
Под капотом этот метод использует Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse()
Примеры
Базовый пример получения возвращаемого значения действия контроллера:
$variables = $this->requestAction('/articles/popular'); Базовый пример request action для получения рендеренной страницы без макета.
$viewHtml = $this->requestAction('/articles/popular', ['return']); Вы также можете передать URL в виде массива:
$vars = $this->requestAction(['controller' => 'articles', 'action' => 'popular']);
Передача других данных запроса
Вы можете передавать данные POST, GET, COOKIE и другие данные в запрос, используя соответствующие ключи. Куки можно передавать с помощью ключа cookies. Параметры GET можно задать с помощью ключа query, а данные POST можно отправить с помощью ключа post.
$vars = $this->requestAction('/articles/popular', [
'query' => ['page' => 1],
'cookies' => ['remember_me' => 1],
]); Отправка значений среды или заголовков
По умолчанию действия, отправленные с помощью этого метода, будут использовать глобальные значения $_SERVER и $_ENV. Если вы хотите переопределить эти значения для действия запроса, вы можете указать значения:
$vars = $this->requestAction('/articles/popular', [
'environment' => ['CONTENT_TYPE' => 'application/json']
]); Передача сессии
По умолчанию действия, отправленные с помощью этого метода, будут использовать стандартный объект сессии. Если вы хотите использовать определенный экземпляр сессии, вам нужно указать его.
$vars = $this->requestAction('/articles/popular', [
'session' => new Session($someSessionConfig)
]); Устаревшее
3.3.0 Вы должны переработать свой код, чтобы использовать ячейки представления вместо этого метода.Параметры
- string|array
$url Строковый или массивный URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные аргументы в параметре $url.
- array
$extraнеобязательно [] Если массив включает ключ "return", он устанавливает autoRender в true. Также может использоваться для отправки данных GET/POST и передачи аргументов.
Возвращает
mixedБулевое значение true или false при успехе/неудачи, или содержимое рендеренного действия, если в $extra установлен ключ 'return'.
Методы, используемые из Cake\View\ViewVarsTrait
createView()source public
createView( string|null $viewClass = null )
Создаёт экземпляр класса представления на основе текущей конфигурации.
Параметры
- string|null
$viewClassнеобязательно null - Необязательное имя пространства имён класса представления для создания экземпляра.
Возвращаемое значение
Cake\View\ViewИсключения
Cake\View\Exception\MissingViewExceptionЕсли класс представления не найден.
set()source public
set( string|array $name , mixed $value = null )
Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.
Параметры
- string|array
$name - Строка или массив данных.
- mixed
$valueнеобязательно null Значение в случае, если $name — строка (которая затем используется в качестве ключа). Не используется, если $name — ассоциативный массив, в противном случае служит значениями для ключей $name.
Возвращаемое значение
$this
viewBuilder()source public
viewBuilder( )
Получить используемого билдер представления.
Возвращаемое значение
Cake\View\ViewBuilderviewOptions()source public deprecated
viewOptions( string|array|null $options = null , boolean $merge = true )
Получить/Установить допустимые параметры представления в свойстве объекта _validViewOptions. Свойство создаётся как пустой массив, если не задано. Если вызывается без параметров, возвращает текущий список допустимых параметров представления. См. createView().
Устаревшее
3.7.0 Используйте ViewBuilder::setOptions() или любой из методов-сеттеров вместо этого.Параметры
- string|array|null
$optionsнеобязательно null - строка или массив строк, которые нужно добавить к _validViewOptions.
- boolean
$mergeнеобязательно true Флаг слияния с существующими или перезаписи существующих допустимых параметров представления. По умолчанию —
true.
Возвращаемое значение
массивОбновлённые параметры представления в виде массива.
Магические методы, унаследованные от Cake\Event\EventDispatcherInterface
getEventManager() |
Подробное описание свойств
$_currentsource
protected string
Файл представления, который в данный момент отображается. Используется для разрешения родительских файлов.
$_currentTypesource
protected string
В данный момент отображается элемент. Используется для поиска родительских фрагментов для элементов.
''
$_parentssource
protected array
Имена представлений и их родителей, используемые с View::extend();
[]
$_passedVarssource
protected array
Список переменных для сбора из связанного контроллера.
[
'viewVars', 'autoLayout', 'helpers', 'template', 'layout', 'name', 'theme',
'layoutPath', 'templatePath', 'plugin', 'passedArgs'
] $_stacksource
protected array
Стек содержимого, используемый для вложенных шаблонов, которые все используют View::extend();
[]
$autoLayoutsource
protected boolean
Включает или выключает обычный режим CakePHP по применению файлов макета. Включено по умолчанию. Выключение означает, что макеты не будут автоматически применяться к рендерным шаблонам.
true
$elementCachesource
protected string
Конфигурация кэша, которую представление будет использовать для хранения кэшированных элементов. Изменение этого параметра изменит конфигурацию по умолчанию, под которой хранятся элементы. Вы также можете выбрать конфигурацию кэша для каждого элемента.
См.
\Cake\View\View::element()'default'
$hasRenderedsource
public boolean
Истина, если представление было отображено.
Устаревшее
3.7.0 Свойство устарело и будет удалено в 4.0.0.false
$layoutsource
protected string
Имя файла макета для отображения шаблона внутри него. Указанное имя является именем файла макета в /src/Template/Layout без расширения .ctp.
'default'
$passedArgssource
public array
Текущие переданные параметры. Передаются в представление из создающего контроллера для удобства.
Устаревшее
3.1.0 Используйте$this->request->getParam('pass') вместо этого.[]
$requestsource
protected Cake\Http\ServerRequest
Экземпляр объекта \Cake\Http\ServerRequest, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.
$subDirsource
protected строка
Подкаталог для этого файла шаблона. Часто используется для маршрутизации на основе расширений. Например, с расширением xml, $subDir будет xml/
''
$templatesource
protected строка
Имя файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/
$uuidssource
public массив
Список сгенерированных UUID DOM.
Устаревшее
3.7.0 Свойство устарело и будет удалено в версии 4.0.0.[]
Подробное описание магических свойств
$Blockssource
public Cake\View\ViewBlock
$Breadcrumbssource
$Flashsource
public Cake\View\Helper\FlashHelper
$Formsource
public Cake\View\Helper\FormHelper
$Htmlsource
public Cake\View\Helper\HtmlHelper
$Numbersource
$Paginatorsource
$Rsssource
public Cake\View\Helper\RssHelper
$Sessionsource
$Textsource
public Cake\View\Helper\TextHelper
$Timesource
public Cake\View\Helper\TimeHelper
$Urlsource
public Cake\View\Helper\UrlHelper
$viewsource
public строка
$viewPathsource
public строка
© 2005–present 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/3.7/class-Cake.View.View.html