Класс представления
Представление, 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 -
$autoLayoutpublicbooleanВключает или выключает стандартный режим CakePHP применения файлов макетов. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к рендеренным шаблонам.
-
$elementCachepublicstringКонфигурация кэша, которую будет использовать представление для хранения кэшированных элементов. Изменение этого повлияет на конфигурацию по умолчанию, под которой хранятся элементы. Вы также можете выбрать конфигурацию кэша для каждого элемента.
-
$hasRenderedpublicИстина, когда представление было рендерировано.boolean -
$helperspublicМассив имён встроенных помощников для включения.array -
$layoutpublicstringИмя файла макета для рендеринга шаблона внутри него. Указанное имя — имя файла макета в /src/Template/Layout без расширения .ctp.
-
$layoutPathpublicИмя подпапки макетов, содержащей макеты для этого представления.string -
$namepublicИмя контроллера, создавшего представление, если таковой имеется.string -
$passedArgspublicТекущие переданные параметры. Передаются в представление от создающего контроллера для удобства.array -
$pluginpublicИмя плагина.string -
$requestpublicЭкземпляр объекта \Cake\Http\ServerRequest, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.
- Ссылка на объект ответа
$responsepublic -
$subDirpublicstringПодкаталог для этого файла шаблона. Часто используется для маршрутизации на основе расширений. Например, с расширением
xml, $subDir будетxml/ -
$templatepublicstringИмя файла шаблона для рендеринга. Указанное имя — имя файла в /src/Template/<подпапка> без расширения .ctp.
-
$templatePathpublicИмя подпапки, содержащей шаблоны для этого представления.string -
$themepublicТема представления для использования.string -
$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) в виде строки. Имена действий с верхним регистром (CamelCase) по умолчанию преобразуются в нижний регистр с нижними подчёркиваниями (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 не содержит точку, то index 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) в виде строки. Имена действий с использованием CamelCase будут преобразовываться в нижний регистр с символом подчеркивания по умолчанию. Это означает, что у вас могут быть имена действий 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 Содержимое блока. Значение будет приведено к типу строка.
См. также
\Cake\View\ViewBlock::concat()assign()source public
assign( string $name , mixed $value )
Установить содержимое блока. Это перезапишет любое существующее содержимое.
Параметры
- строка
$name - Имя блока
- смешанный
$value Содержимое блока. Значение будет приведено к типу строка.
См. также
\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'.
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 - Логическое значение для включения/отключения.
end()source public
end( )
Завершить захват блока. Дополнение к View::start()
См. также
\Cake\View\ViewBlock::end()exists()source public
exists( string $name )
Проверить, существует ли блок
Параметры
- строка
$name - Имя блока
Возвращает
booleanextend()source public
extend( string $name )
Обеспечивает расширение/наследование шаблона или элемента. Представления могут расширять родительское представление и заполнять блоки в родительском шаблоне.
Параметры
- строка
$name - Шаблон или элемент, который нужно расширить текущим.
Вызывает исключение
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()
Параметры
- строка
$name - Имя помощника для загрузки.
- массив
$configнеобязательно [] - Настройки для помощника
Возвращает
Cake\View\Helperобъект помощника.
См. также
\Cake\View\HelperRegistry::load()loadHelpers()source public
loadHelpers( )
Взаимодействует с HelperRegistry для загрузки всех помощников.
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 Содержимое блока. Значение будет преобразовано к строковому типу.
См. также
\Cake\View\ViewBlock::concat()render()source public
render( string|false|null $view null , string|null $layout null )
Отображает представление для заданного шаблона и макета.
Отображение вызывает обратные вызовы помощников, которые срабатывают до и после отрисовки шаблона, а также до и после отрисовки макета. Обратные вызовы помощников вызываются:
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 - Имя блока
См. также
\Cake\View\ViewBlock::set()setLayout()source public
setLayout( string $name )
Установить имя файла макета для отображения шаблона внутри него. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
Параметры
- строка
$name - Имя файла макета для установки.
setLayoutPath()source public
setLayoutPath( string $path )
Установить путь к файлам макетов.
Параметры
- строка
$path - Путь к файлам макетов.
setTemplate()source public
setTemplate( string $name )
Установите имя файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/
Параметры
- string
$name - Имя файла шаблона для установки.
setTemplatePath()source public
setTemplatePath( string $path )
Установите путь к файлам шаблонов.
Параметры
- string
$path - Путь к файлам шаблонов.
setTheme()source public
setTheme( string $theme )
Установите тему представления для использования.
Параметры
- string
$theme - Имя темы.
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 - Имя блока для захвата.
См. также
\Cake\View\ViewBlock::start()template()source public
template( string|null $name null )
Получение/установка имени файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/
Устарело
3.5.0 Используйте getTemplate()/setTemplate() вместо этого.Параметры
- string|null
$nameнеобязательно null - Имя файла шаблона для установки. Если null, возвращает текущее имя.
Возвращает
string|nulltemplatePath()source public
templatePath( string|null $path null )
Получение/установка пути к файлам шаблонов.
Устарело
3.5.0 Используйте getTemplatePath()/setTemplatePath() вместо этого.Параметры
- string|null
$pathнеобязательно null - Путь к файлам шаблонов. Если null, возвращает текущий путь.
Возвращает
string|nulltheme()source public
theme( string|null $theme null )
Тема представления для использования.
Устарело
3.5.0 Используйте getTheme()/setTheme() вместо этого.Параметры
- string|null
$themeнеобязательно null - Имя темы. Если null, возвращает текущую тему.
Возвращает
string|nulluuid()source public
uuid( string $object , string $url )
Генерирует уникальный, не случайный идентификатор DOM для объекта на основе типа объекта и целевого URL.
Параметры
- 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
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 вместо этого метода.Параметры
- строка|массив
$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
viewOptions( string|array|null $options null , boolean $merge true )
Получить/установить допустимые параметры представления в свойстве объекта _validViewOptions. Свойство создаётся как пустой массив, если оно не установлено. Если вызывается без параметров, возвращает текущий список допустимых параметров представления. См. createView().
Параметры
- строка|массив|null
$optionsнеобязательно null - строка или массив строк, которые нужно добавить в _validViewOptions.
- булево
$mergeнеобязательно true Объединить с существующими или переопределить существующие допустимые параметры представления. По умолчанию
true.
Возвращает
массивОбновлённые параметры представления в виде массива.
Магические методы, унаследованные от Cake\Event\EventDispatcherInterface
getEventManager() |
Подробное описание свойств
$_currentsource
protected строка
Файл представления, который в настоящее время рендерится. Используется для разрешения родительских файлов.
$_currentTypesource
protected строка
В настоящее время рендерится элемент. Используется для поиска родительских фрагментов для элементов.
''
$_extsource
protected строка
Расширение файла. По умолчанию шаблоны CakePHP имеют расширение ".ctp".
'.ctp'
$_parentssource
protected массив
Имена представлений и их родителей, используемых с View::extend();
[]
$_passedVarssource
protected массив
Список переменных для сбора от связанного контроллера.
[
'viewVars', 'autoLayout', 'helpers', 'template', 'layout', 'name', 'theme',
'layoutPath', 'templatePath', 'plugin', 'passedArgs'
] $_stacksource
protected массив
Стек содержимого, используемый для вложенных шаблонов, которые все используют View::extend();
[]
$autoLayoutsource
public булево
Включает или отключает традиционный режим CakePHP по применению файлов макета. Включён по умолчанию. Отключение означает, что макеты не будут автоматически применяться к рендеренным шаблонам.
true
$elementCachesource
public строка
Конфигурация кэша, которую View будет использовать для хранения кэшированных элементов. Изменение этого значения изменит стандартную конфигурацию, под которой хранятся элементы. Вы также можете выбрать конфигурацию кэша для каждого элемента.
См. также
\Cake\View\View::element()'default'
$layoutsource
public строка
Имя файла макета для рендеринга шаблона внутри. Указанное имя — имя файла макета в /src/Template/Layout без расширения .ctp.
'default'
$passedArgssource
public массив
Текущие переданные параметры. Передаются в представление из создающего контроллера для удобства.
Устарело
3.1.0 Используйте$this->request->getParam('pass') вместо этого.[]
$requestsource
public Cake\Http\ServerRequest
Экземпляр объекта \Cake\Http\ServerRequest, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.
$subDirsource
public строка
Поддиректория для этого файла шаблона. Часто используется для маршрутизации на основе расширений. Например, с расширением xml, $subDir будет xml/
$templatesource
public строка
Имя файла шаблона для рендеринга. Указанное имя — имя файла в /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 строка
$viewPathsource
public строка
© 2005–2017 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.4/class-Cake.View.View.html