Класс Вид
Вид, 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Конфигурация кэша, которую будет использовать View для хранения кэшированных элементов. Изменение этого параметра изменит конфигурацию по умолчанию, в которой хранятся элементы. Также можно выбрать конфигурацию кэша для каждого элемента.
-
$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) в виде строки. Имена действий с использованием CamelCase будут по умолчанию преобразовываться в нижний регистр с подчёркиванием. Это означает, что вы можете иметь 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$requestнеобязательно null - Экземпляр запроса.
-
Cake\Http\Response$responseнеобязательно null - Экземпляр ответа.
-
Cake\Event\EventManager$eventManagerнеобязательно null - Экземпляр менеджера событий.
- массив
$viewOptionsнеобязательно [] Параметры представления. См. 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 - Имя элемента для поиска.
- булево
$pluginCheckнеобязательно true - если false, игнорирует плагин запроса, если загруженный плагин не загружен
Возвращает
строка|ложьСтрока имени файла элемента или false, когда файл не найден.
_getLayoutFileName()source protected
_getLayoutFileName( string|null $name = null )
Возвращает имя файла макета для этого шаблона в виде строки.
Параметры
- строка|null
$nameнеобязательно null - Имя макета для поиска.
Возвращает
строкаИмя файла макета (.ctp).
Исключения
Cake\View\Exception\MissingLayoutExceptionпри невозможности найти макет
_getSubPaths()source protected
_getSubPaths( string $basePath )
Находит все пути к подшаблонам, основанные на $basePath. Если в текущем запросе определен префикс, этот метод добавит путь к шаблонам с префиксом к $basePath, восходя по иерархии в случае вложенного префикса. Это используется для нахождения путей к шаблонам с префиксом для элементов и макетов.
Параметры
- строка
$basePath - Базовый путь, по которому нужно получить префиксный.
Возвращает
массивМассив со всеми путями к шаблонам.
_getViewFileName()source protected
_getViewFileName( string|null $name = null )
Возвращает имя файла шаблона для заданного действия (.ctp) в виде строки. Названия действий CamelCased будут преобразованы в нижний регистр с символом подчеркивания по умолчанию. Это означает, что вы можете иметь LongActionNames, которые ссылаются на представления long_action_names.ctp. Вы можете изменить правило склонения, переопределив _inflectViewFileName.
Параметры
- строка|null
$nameнеобязательно null - Действие контроллера для поиска имени файла шаблона
Возвращает
строкаИмя файла шаблона
Исключения
Cake\View\Exception\MissingTemplateExceptionпри невозможности найти файл представления.
_inflectViewFileName()source protected
_inflectViewFileName( string $name )
Изменить имя файла шаблона представления в нижний регистр с символом подчеркивания.
Параметры
- строка
$name - Имя файла, которое должно быть склонено.
Возвращает
строкаИмя файла после преобразования
_paths()source protected
_paths( string|null $plugin = null , boolean $cached = true )
Возвращает все возможные пути к файлам представления в порядке
Параметры
- строка|null
$pluginнеобязательно null - Необязательное имя плагина для поиска файлов представлений.
- булево
$cachedнеобязательно true - Установите в значение false, чтобы принудительно обновить пути к представлениям. По умолчанию true.
Возвращает
массивпути
_render()source protected
_render( string $viewFile , array $data = [] )
Отображает и возвращает вывод для заданного файла шаблона с его массивом данных. Обрабатывает родительские/расширенные шаблоны.
Параметры
- строка
$viewFile - Имя файла представления
- массив
$dataнеобязательный [] Данные для включения в отображаемое представление. Если пусто, будут использованы текущие View::$viewVars.
Возвращает
строкаОтображенный вывод
Выбрасывает
LogicExceptionКогда блок оставлен открытым.
Вызывает
View.beforeRenderFile $this, [$viewFile]View.afterRenderFile $this, [$viewFile, $content]
_renderElement()source protected
_renderElement( string $file , array $data , array $options )
Отображает элемент и вызывает обратные вызовы before и afterRender для него и записывает в кэш, если используется кэш.
Параметры
- строка
$file - Путь к файлу элемента
- массив
$data - Данные для отображения
- массив
$options - Параметры элемента
Возвращает
строкаВызывает
View.beforeRender $this, [$file]View.afterRender $this, [$file, $element]
append()source public
append( string $name , mixed $value = null )
Добавление к существующему или новому блоку.
Добавление к новому блоку создаст блок.
Параметры
- строка
$name - Имя блока
- смешанный
$valueнеобязательный null Содержимое блока. Значение будет приведено к строковому типу.
Возвращает
$this
См. также
\Cake\View\ViewBlock::concat()assign()source public
assign( string $name , mixed $value )
Установить содержимое блока. Это перезапишет любое существующее содержимое.
Параметры
- строка
$name - Имя блока
- смешанный
$value Содержимое блока. Значение будет приведено к строковому типу.
Возвращает
$this
См. также
\Cake\View\ViewBlock::set()autoLayout()source public устаревший
autoLayout( boolean|null $autoLayout = null )
Включает или отключает стандартный режим CakePHP для применения файлов макета. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к отображаемым шаблонам.
Устаревший
3.5.0 Используйте isAutoLayoutEnabled()/enableAutoLayout() вместо этого.Параметры
- boolean|null
$autoLayoutнеобязательный null - Логическое значение для включения/отключения. Если null, возвращает текущее значение.
Возвращает
boolean|nullblocks()source public
blocks( )
Получить имена всех существующих блоков.
Возвращает
массивМассив, содержащий блоки.
См. также
\Cake\View\ViewBlock::keys()cache()source public
cache( callable $block , array $options = [] )
Создать кэшированный блок логики представления.
Это позволяет кэшировать блок вывода представления в кэш, определенный в elementCache.
Этот метод сначала попытается прочитать кэш. Если кэш пуст, $block будет выполнен, а вывод сохранён.
Параметры
- вызов
$block - Блок кода, для которого вы хотите кэшировать вывод.
- массив
$optionsнеобязательный [] - Параметры, определяющие ключ кэша и т.д.
Возвращает
строкаСодержимое рендеринга.
Выбрасывает
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. Если элемент не найден в плагине, будет произведен обычный поиск по пути к представлению.
Возвращает
booleanУспех
enableAutoLayout()source public
enableAutoLayout( boolean $enable = true )
Включает или выключает стандартный режим CakePHP для применения файлов макета. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к рендерингу представлений.
Параметры
- boolean
$enableнеобязательный true - Логическое значение для включения/выключения.
Возвращает
$this
end()source public
end( )
Завершение захвата блока. Дополнение к View::start()
Возвращает
$this
См. также
\Cake\View\ViewBlock::end()exists()source public
exists( string $name )
Проверить существование блока
Параметры
- строка
$name - Имя блока
Возвращает
booleanextend()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 - Имя плагина, которое нужно разделить.
- булево
$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, можно использовать шаблон/макет плагина вместо приложения. Если выбранный плагин не найден, шаблон будет найден в стандартной цепочке путей к представлениям.
Параметры
- string|false|null
$viewнеобязательно null - Имя файла представления для использования
- string|null
$layoutнеобязательно null - Макет для использования.
Возвращает
string|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 при ошибке. Несколько переменных создаются для использования в макете.
Параметры
- string
$content - Содержимое для отрисовки в шаблоне, заключенное в окружающий макет.
- string|null
$layoutнеобязательно null - Имя макета
Возвращает
mixedОтрисованный вывод или false при ошибке
Выбрасывает
Cake\Core\Exception\Exceptionесли произошла ошибка в представлении.
Вызывает
View.beforeLayout $this, [$layoutFileName]View.afterLayout $this, [$layoutFileName]
reset()source public
reset( string $name )
Сбросить содержимое для блока. Это перезапишет любое существующее содержимое.
Параметры
- string
$name - Имя блока
Возвращает
$this
См. также
\Cake\View\ViewBlock::set()setElementCache()source public
setElementCache( string $elementCache )
Установить конфигурацию кэша, которую View будет использовать для хранения кэшированных элементов
Параметры
- string
$elementCache - Имя конфигурации кэша.
Возвращает
$this
См. также
\Cake\View\View::$elementCacheС версии
3.7.0setLayout()source public
setLayout( string $name )
Установить имя файла макета для отрисовки шаблона внутри. Указанное имя является именем файла макета в /src/Template/Layout без расширения .ctp.
Параметры
- string
$name - Имя файла макета для установки.
Возвращает
$this
setLayoutPath()source public
setLayoutPath( string $path )
Установить путь к файлам макетов.
Параметры
- string
$path - Путь к файлам макетов.
Возвращает
$this
setPlugin()source public
setPlugin( string $name )
Устанавливает имя плагина.
Параметры
- string
$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 )
Установить подкаталог для файлов шаблонов.
Параметры
- string
$subDir - Имя подкаталога.
Возвращает
$this
См. также
\Cake\View\View::$subDirС версии
3.7.0setTemplate()source public
setTemplate( string $name )
Установить имя файла шаблона для отрисовки. Указанное имя — имя файла в /src/Template/<подкаталог> без расширения .ctp.
Параметры
- string
$name - Имя файла шаблона для установки.
Возвращает
$this
setTemplatePath()source public
setTemplatePath( string $path )
Установить путь к файлам шаблонов.
Параметры
- string
$path - Путь к файлам шаблонов.
Возвращает
$this
setTheme()source public
setTheme( string|null $theme )
Установить тему представления для использования.
Параметры
- string|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(); Параметры
- string
$name - Имя блока для захвата.
Возвращает
$this
См. также
\Cake\View\ViewBlock::start()template()source public deprecated
template( string|null $name = null )
Получить/установить имя файла шаблона для отрисовки. Указанное имя — имя файла в /src/Template/<подкаталог> без расширения .ctp.
Устарело
3.5.0 Используйте getTemplate()/setTemplate() вместо этого.Параметры
- string|null
$nameнеобязательно null - Имя файла шаблона для установки. Если null, возвращает текущее имя.
Возвращает
string|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.Параметры
- строка
$object - Тип объекта, например 'форма' или 'ссылка'
- строка
$url - Целевой URL объекта
Возвращает
строкаМетоды, используемые из Cake\View\CellTrait
_createCell()source protected
_createCell( string $className , string $action , string $plugin , array $options )
Создает и настраивает экземпляр ячейки.
Параметры
- строка
$className - Имя класса ячейки.
- строка
$action - Имя действия.
- строка
$plugin - Имя плагина.
- массив
$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'); Ячейки не отображаются, пока они не выведены.
Параметры
- строка
$cell Вы должны указать имя ячейки и, необязательно, действие ячейки. Например:
TagCloud::smallListвызоветView\Cell\TagCloudCell::smallList(), действиеdisplayбудет вызвано по умолчанию, если оно не указано.- массив
$dataнеобязательно [] Дополнительные аргументы для метода ячейки. Например:
cell('TagCloud::smallList', ['a1' => 'v1', 'a2' => 'v2'])соответствуетView\Cell\TagCloud::smallList(v1, v2)- массив
$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 )
Обёртка для создания и отправки событий.
Возвращает обработанное событие.
Параметры
- строка
$name - Имя события.
- массив|null
$dataнеобязательно null Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.
- объект|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 - менеджер eventManager для установки
Возвращает
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 - менеджер eventManager для установки
Возвращает
$this
Методы, используемые из Cake\Log\LogTrait
log()source public
log( mixed $msg , integer|string $level = LogLevel::ERROR , string|array $context = [] )
Удобный метод для записи сообщения в журнал. Для получения более подробной информации о записи в журналы см. Log::write().
Параметры
- смешанный
$msg - Сообщение журнала.
- целое число|строка
$levelнеобязательно LogLevel::ERROR - Уровень ошибки.
- строка|массив
$contextнеобязательно [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
логическое значениеУспех записи в журнал.
Методы, используемые из 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 Вы должны переработать свой код, чтобы использовать ячейки представлений вместо этого метода.Параметры
- строка|массив
$url Строковый или массивно-базированный URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные аргументы в параметре $url.
- массив
$extraнеобязательно [] Если массив включает ключ "return", он устанавливает autoRender в true. Также может использоваться для отправки данных GET/POST и передачи аргументов.
Возвращает
смешанный типБулево значение true или false при успехе/неудаче или содержимое отрендеренного действия, если в $extra установлен ключ 'return'.
Методы, используемые из Cake\View\ViewVarsTrait
createView()source public
createView( string|null $viewClass = null )
Создает экземпляр класса представления на основе текущей конфигурации.
Параметры
- строка|null
$viewClassнеобязательно null - Необязательное именованное имя класса представления для экземпляризации.
Возвращает
Cake\View\ViewИсключения
Cake\View\Exception\MissingViewExceptionЕсли класс представления не был найден.
set()source public
set( string|array $name , mixed $value = null )
Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.
Параметры
- строка|массив
$name - Строка или массив данных.
- смешанный
$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.
Возвращает
arrayОбновлённые параметры представления в виде массива.
Магические методы, унаследованные от 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
Настройка кэша, которую будет использовать View для хранения кэшированных элементов. Изменение этого изменит конфигурацию по умолчанию, под которой хранятся элементы. Вы также можете выбрать конфигурацию кэша для каждого элемента.
См.
\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 string
Подкаталог для этого файла шаблона. Это часто используется для маршрутизации на основе расширений. Например, с расширением 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.8/class-Cake.View.View.html