Класс View
Представление, 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
Непосредственные подклассы
Косвенные подклассы
Краткое описание констант
-
string'Element' -
string'Template' -
string'element' -
string'layout' -
string'view' -
string'view'
Краткое описание свойств
- Экземпляр ViewBlock.
$Blockspublic -
$_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 -
$autoLayoutpublicbooleanВключает или выключает стандартный режим CakePHP по применению файлов макета. Включено по умолчанию. Выключение означает, что макеты не будут автоматически применяться к отображаемым шаблонам.
-
$elementCachepublicstringКонфигурация кэша, которую будет использовать View для хранения кэшированных элементов. Изменение этого параметра изменит стандартную конфигурацию, под которой хранятся элементы. Вы также можете выбрать конфигурацию кэша для каждого элемента.
-
$hasRenderedpublicИстина, когда представление было отображено.boolean -
$helperspublicМассив имён встроенных помощников для включения.array -
$layoutpublicstringИмя файла макета, внутри которого будет отображаться шаблон. Указанное имя — имя файла макета в /src/Template/Layout без расширения .ctp.
-
$layoutPathpublicИмя подкаталога макетов, содержащих макеты для данного представления.string -
$namepublicИмя контроллера, который создал представление, если таковой имеется.string -
$passedArgspublicТекущие переданные параметры. Передаются в представление из создающего контроллера для удобства.array -
$pluginpublicИмя плагина.string -
$requestpublicЭкземпляр объекта \Cake\Http\ServerRequest, содержащий информацию об текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.
- Ссылка на объект Response
$responsepublic -
$subDirpublicstring|nullПодкаталог для этого файла шаблона. Часто используется для маршрутизации на основе расширений. Например, с расширением
xml, $subDir будетxml/ -
$templatepublicstringИмя файла шаблона для отображения. Указанное имя — имя файла в /src/Template/
без расширения .ctp. -
$templatePathpublicИмя подкаталога, содержащего шаблоны для данного представления.string -
$themepublicТема представления, которую нужно использовать.string|null -
$uuidspublicСписок сгенерированных UUID DOM.array
Краткое описание магических свойств
-
$Blockspublic -
$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) в виде строки. Имена действий с заглавными буквами (CamelCased) по умолчанию преобразуются в нижний регистр с символами подчеркивания (under_scored). Это означает, что вы можете иметь имена действий с длинными заглавными буквами (LongActionNames), которые ссылаются на представления long_action_names.ctp. Вы можете изменить правило инфлекции, переопределив _inflectViewFileName.
- _inflectViewFileName() protectedИзменение имени файла шаблона представления в формате с подчеркиваниями.
- _paths() protectedВозвращает все возможные пути для поиска файлов представления в нужном порядке.
- _render() protected
Отображает и возвращает вывод для заданного файла шаблона с его массивом данных. Обрабатывает родительские/расширенные шаблоны.
- _renderElement() protected
Отображает элемент и вызывает обратные вызовы before и afterRender для него и записывает в кеш, если используется кеш.
- append() publicДобавить в существующий или новый блок.
- assign() public
Установить содержимое блока. Это перепишет любое существующее содержимое.
- autoLayout() public
Включает или выключает стандартный режим CakePHP по применению файлов макетов. Включено по умолчанию. Выключение означает, что макеты не будут автоматически применяться к рендеряемым шаблонам.
- blocks() publicПолучить имена всех существующих блоков.
- cache() publicСоздать кэшированный блок логики представления.
- 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Получить путь к файлам макетов.
- getTemplate() public
Получить имя файла шаблона для отображения. Указанное имя является именем файла в /src/Template/
без расширения .ctp. - getTemplatePath() publicПолучить путь к файлам шаблонов.
- getTheme() publicПолучить текущую тему представления.
- getVars() publicВозвращает список переменных, доступных в текущем контексте представления.
- helpers() publicПолучить реестр помощников, используемый этим классом представления.
- initialize() publicМетод инициализации.
- isAutoLayoutEnabled() public
Возвращает, включён ли стандартный режим CakePHP по применению файлов макетов. Выключено означает, что макеты не будут автоматически применяться к рендеряемым представлениям.
- layout() public
Получить/установить имя файла макета для отображения шаблона внутри него. Указанное имя является именем файла макета в /src/Template/Layout без расширения .ctp.
- layoutPath() publicПолучить/установить путь к файлам макетов.
- loadHelper() publicЗагрузка помощника. Делегирует загрузку помощника в
HelperRegistry::load(). - loadHelpers() publicВзаимодействие с HelperRegistry для загрузки всех помощников.
- pluginSplit() public
Разделяет имя плагина с точкой на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет null. Проверяет, загружен ли плагин, в противном случае имя файла останется неизменным для имён файлов, содержащих точку.
- prepend() publicДобавить в начало существующего или нового блока.
- render() publicОтображает представление для данного файла шаблона и макета.
- renderLayout() public
Отображает макет. Возвращает вывод из _render(). Возвращает false при ошибке. Несколько переменных создаются для использования в макете.
- reset() public
Сбросить содержимое блока. Это перепишет любое существующее содержимое.
- setLayout() public
Установить имя файла макета для отображения шаблона внутри него. Указанное имя является именем файла макета в /src/Template/Layout без расширения .ctp.
- setLayoutPath() publicУстановить путь к файлам макетов.
- setTemplate() public
Установить имя файла шаблона для отображения. Указанное имя является именем файла в /src/Template/
без расширения .ctp. - setTemplatePath() publicУстановить путь к файлам шаблонов.
- setTheme() publicУстановить тему представления для использования.
- start() publicНачать захват вывода для 'блока'.
- template() public
Получить/установить имя файла шаблона для отображения. Указанное имя является именем файла в /src/Template/
без расширения .ctp.
- templatePath() publicПолучить/установить путь к файлам шаблонов.
- theme() publicТема представления для использования.
- uuid() publicГенерирует уникальный, не случайный идентификатор 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Имя файла элемента или 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) в виде строки. Имена действий с верблюжьей нотацией по умолчанию преобразуются в нижний регистр. Это означает, что вы можете использовать имена действий с верблюжьей нотацией, которые будут ссылаться на представления с нижним регистром. Вы можете изменить правило инфлекции, переопределяя _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( )
Получить имена всех существующих блоков.
Возвращает
arrayМассив, содержащий блоки.
См. также
\Cake\View\ViewBlock::keys()cache()source public
cache( callable $block , array $options [] )
Создать кэшированный блок логики представления.
Это позволяет кэшировать блок вывода представления в кэш, определённый в elementCache.
Этот метод сначала попытается прочитать кэш. Если кэш пуст, $block будет выполнен, и вывод будет сохранён.
Параметры
- вызываемый
$block - Блок кода, вывод которого нужно кэшировать.
- массив
$optionsнеобязательно [] - Опции, определяющие ключ кэша и т. д.
Возвращает
строкаОтрендеренное содержимое.
Выбрасывает
RuntimeExceptionЕсли в $options отсутствует опция 'key'.
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.
Возвращает
строкаgetTemplate()source public
getTemplate( )
Получить имя файла шаблона для отрисовки. Указанное имя — это имя файла в /src/Template/
Возвращает
stringgetTemplatePath()source public
getTemplatePath( )
Получить путь к файлам шаблонов.
Возвращает
stringgetVars()source public
getVars( )
Возвращает список переменных, доступных в текущем контексте представления.
Возвращает
arrayМассив имён установленных переменных представления.
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() вместо этого.Параметры
- string|null
$nameнеобязательно null - Имя файла макета для установки. Если null, возвращает текущее имя.
Возвращает
string|nulllayoutPath()source public
layoutPath( string|null $path null )
Получить/установить путь к файлам макета.
Устарело
3.5.0 Используйте getLayoutPath()/setLayoutPath() вместо этого.Параметры
- string|null
$pathнеобязательно null - Путь к файлам макета. Если null, возвращает текущий путь.
Возвращает
string|nullloadHelper()source public
loadHelper( string $name , array $config [] )
Загружает хелпер. Делегирует загрузку хелпера классу HelperRegistry::load()
Параметры
- string
$name - Имя загружаемого хелпера.
- array
$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. Проверяет, загружен ли плагин, иначе имя файла останется без изменений для имён файлов, содержащих точку
Параметры
- string
$name - Имя плагина, который требуется разделить.
- boolean
$fallbackнеобязательно true - Если true, использует плагин, установленный в текущем запросе, когда загруженный плагин не найден
Возвращает
arrayМассив с 2 индексами. 0 => имя плагина, 1 => имя файла
prepend()source public
prepend( string $name , mixed $value )
Добавляет в начало существующего или нового блока.
Добавление в новый блок создаст блок.
Параметры
- string
$name - Имя блока
- mixed
$value Содержимое блока. Значение будет преобразовано в строку.
Возвращает
$this
См. также
\Cake\View\ViewBlock::concat()render()source public
render( string|false|null $view null , string|null $layout null )
Отображает представление для заданного файла шаблона и макета.
Отображение вызывает обратные вызовы хелперов, которые срабатывают до и после рендеринга шаблона, а также до и после рендеринга макета. Обратные вызовы хелперов вызываются:
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()setLayout()source public
setLayout( string $name )
Установить имя файла макета для рендеринга шаблона внутри него. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
Параметры
- string
$name - Имя файла макета для установки.
Возвращает
$this
setLayoutPath()source public
setLayoutPath( string $path )
Установить путь к файлам макета.
Параметры
- строка
$path - Путь к файлам макета.
Возвращаемое значение
$this
setTemplate()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
template( string|null $name null )
Получить/установить имя файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/
Устарело
3.5.0 Используйте getTemplate()/setTemplate() вместо этого.Параметры
- строка|null
$nameнеобязательно null - Имя файла шаблона для установки. Если null, возвращает текущее имя.
Возвращаемое значение
строка|nulltemplatePath()source public
templatePath( string|null $path null )
Получить/установить путь к файлам шаблонов.
Устарело
3.5.0 Используйте getTemplatePath()/setTemplatePath() вместо этого.Параметры
- строка|null
$pathнеобязательно null - Путь к файлам шаблонов. Если null, возвращает текущий путь.
Возвращаемое значение
строка|nulltheme()source public
theme( string|null $theme null )
Используемая тема представления.
Устарело
3.5.0 Используйте getTheme()/setTheme() вместо этого.Параметры
- строка|null
$themeнеобязательно null - Имя темы. Если null, возвращает текущую тему.
Возвращаемое значение
строка|nulluuid()source public
uuid( string $object , string $url )
Генерирует уникальный, не случайный идентификатор DOM для объекта, основанный на типе объекта и целевом URL.
Параметры
- строка
$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
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().
Параметры
- mixed
$msg - Сообщение журнала.
- integer|string
$levelнеобязательный LogLevel::ERROR - Уровень ошибки.
- string|array
$contextнеобязательный [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
booleanУспешность записи в журнал.
Методы, используемые из Cake\Routing\RequestActionTrait
requestAction()source public
requestAction( string|array $url , array $extra [] )
Вызывает метод контроллера из любого места. Может использоваться для подключения контроллеров друг к другу или для связывания плагинов с основным приложением. requestAction может использоваться для возвращения рендеренных представлений или получения значения возврата действий контроллера.
Под капотом этот метод использует Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse().
Примеры
Базовый пример получения значения возврата действия контроллера:
$variables = $this->requestAction('/articles/popular'); Базовый пример requestAction для получения рендеренной страницы без макета.
$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 Вам следует переработать свой код, чтобы использовать View Cells вместо этого метода.Параметры
- 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
viewOptions( string|array|null $options null , boolean $merge true )
Получение/Установка допустимых параметров представления в свойстве _validViewOptions объекта. Свойство создается как пустой массив, если оно не задано. Если вызывается без параметров, оно возвращает текущий список допустимых параметров представления. См. createView().
Параметры
- string|array|null
$optionsнеобязательный null - Строка или массив строк, которые нужно добавить к _validViewOptions.
- boolean
$mergeнеобязательный true Объединение или переопределение существующих допустимых параметров представления. По умолчанию
true.
Возвращает
arrayОбновленные параметры представления в виде массива.
Магические методы, унаследованные от Cake\Event\EventDispatcherInterface
getEventManager() |
Подробное описание свойств
$_currentsource
protected string
Файл представления, который в данный момент рендерится. Используется для разрешения родительских файлов.
$_currentTypesource
protected string
В данный момент рендерится элемент. Используется для поиска родительских фрагментов для элементов.
''
$_extsource
protected string
Расширение файла. По умолчанию шаблон CakePHP имеет расширение ".ctp".
'.ctp'
$_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
public boolean
Включает или отключает стандартный режим CakePHP для применения файлов макета. По умолчанию включено. Отключение означает, что макеты не будут автоматически применяться к рендеряемым шаблонам.
true
$elementCachesource
public string
Конфигурация кэша, которую View будет использовать для хранения кэшированных элементов. Изменение этой конфигурации повлияет на стандартную конфигурацию, под которой хранятся элементы. Также можно выбрать конфигурацию кэша для каждого элемента.
См. также
\Cake\View\View::element()'default'
$layoutsource
public string
Имя файла макета, внутри которого будет рендериться шаблон. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
'default'
$layoutPathsource
public string
Имя подкаталога макетов, содержащего макеты для данного представления.
$passedArgssource
public array
Текущие переданные параметры. Передаются в представление из создающего контроллера для удобства.
Устарело
3.1.0 Используйте$this->request->getParam('pass') вместо этого.[]
$requestsource
public Cake\Http\ServerRequest
Экземпляр объекта \Cake\Http\ServerRequest, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для считывания дополнительной информации о запросе.
$subDirsource
public string|null
Подкаталог для этого файла шаблона. Часто используется для маршрутизации на основе расширений. Например, с расширением xml, $subDir будет xml/
$templatesource
public string
Имя файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/
Подробное описание магических свойств
$Blockssource
public Cake\View\ViewBlock
$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 string
$viewPathsource
public string
© 2005–2018 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.5/class-Cake.View.View.html