Класс View
Представление, V в триаде MVC. Представление взаимодействует с помощниками и переменными представления, переданными из контроллера, чтобы отобразить результаты действия контроллера. Часто это HTML, но также может быть в формате JSON, XML, PDF или потоковых файлов.
CakePHP использует двухэталонную модель представления. Это означает, что сначала содержимое шаблона отображается, а затем вставляется в выбранный макет. Это также означает, что вы можете передавать данные из шаблона в макет, используя $this->set()
Класс View поддерживает использование плагинов в качестве тем. Вы можете установить
public function beforeRender(\Cake\Event\Event $event)
{
$this->viewBuilder()->setTheme('SuperHot');
} в вашем контроллере, чтобы использовать плагин SuperHot в качестве темы. Например, если текущее действие - PostsController::index(), то класс View будет искать файл шаблона 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.
$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Переданные параметры. Передаются в View от создающего контроллера для удобства.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 -
$Breadcrumbspublic -
$Flashpublic -
$Formpublic -
$Htmlpublic -
$Numberpublic -
$Paginatorpublic -
$Rsspublic -
$Sessionpublic -
$Textpublic -
$Timepublic -
$Urlpublic -
$viewpublicstring -
$viewPathpublicstring
Наследуемые магические свойства
Наследуемые свойства
Краткое описание методов
- __construct() publicКонструктор
- __get() publicМагический метод доступа к помощникам.
- __set() publicМагический метод установки устаревших свойств.
- _checkFilePath() protectedПроверка, что путь к файлу представления не выходит за пределы определённых шаблонов.
- _elementCache() protectedГенерация параметров кэша для элемента.
- _evaluate() protectedМетод для безопасного выполнения шаблона/скрипта представления.
- _getElementFileName() protectedПоиск имени файла элемента, возвращает false при ошибке.
- _getLayoutFileName() protectedВозвращает имя файла макета для данного шаблона в виде строки.
- _getSubPaths() protected
Находит все пути к дочерним шаблонам, исходя из $basePath. Если в текущем запросе определён префикс, этот метод добавит префиксный путь к шаблону в $basePath, продвигаясь вверх по иерархии префиксов. В основном используется для поиска префиксных путей к шаблонам элементов и макетов.
- _getViewFileName() protected
Возвращает имя файла шаблона действия (.ctp) в виде строки. Имена действий с верхним регистром будут преобразовываться в нижний регистр с _ (по умолчанию). Это означает, что вы можете использовать LongActionNames, которые ссылаются на представления long_action_names.ctp. Вы можете изменить правило инфлексии, переопределив _inflectViewFileName.
- _inflectViewFileName() protectedИзменение имени файла шаблона представления на подчёркнутый формат.
- _paths() protectedВозвращает все возможные пути к файлам представлений в порядке их обработки.
- _render() protected
Отображает и возвращает вывод для данного файла шаблона с его массивом данных. Обрабатывает родительские/расширенные шаблоны.
- _renderElement() protected
Отображает элемент и вызывает обратные вызовы before и afterRender для него, записывая в кэш, если он используется.
- append() publicДобавление к существующему или новому блоку.
- assign() public
Устанавливает содержимое блока. Это перепишет любое существующее содержимое.
-
Включает или отключает стандартный режим CakePHP для применения файлов макетов. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к отображаемым шаблонам.
- blocks() publicПолучение имён всех существующих блоков.
- cache() publicСоздание кэшированного блока логики представления.
- 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 для применения файлов макетов. Отключено означает, что макеты не будут автоматически применяться к отображаемым представлениям.
-
Получение/установка имени файла макета для отображения шаблона внутри него. Указанное имя — это имя файла макета в /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
Сброс содержимого блока. Это перепишет любое существующее содержимое.
- setLayout() public
Установка имени файла макета для отображения шаблона внутри него. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
- setLayoutPath() publicУстановка пути к файлам макетов.
- setTemplate() public
Установка имени файла шаблона для отображения. Указанное имя — это имя файла в /src/Template/<подпапка> без расширения .ctp.
- setTemplatePath() publicУстановка пути к файлам шаблонов.
- setTheme() publicУстановка используемой темы представления.
- start() publicНачало захвата вывода для 'блока'
-
Получить/установить имя файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/
без расширения .ctp. - Установить путь к файлам шаблонов.
- Тема представления для использования.
- 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$requestoptional null - Экземпляр запроса.
-
Cake\Http\Response$responseoptional null - Экземпляр ответа.
-
Cake\Event\EventManager$eventManageroptional null - Экземпляр диспетчера событий.
- array
$viewOptionsoptional [] Параметры представления. Список параметров, которые устанавливаются в качестве свойств класса, см. в View::$_passedVars.
__get()source public
__get( string $name )
Магический аксессор для хелперов.
Параметры
- string
$name - Имя атрибута для получения.
Возвращает
mixed__set()source public
__set( string $name , mixed $value )
Магический сеттер для устаревших свойств.
Параметры
- string
$name - Имя свойства.
- mixed
$value - Значение свойства.
_checkFilePath()source protected
_checkFilePath( string $file , string $path )
Проверка, что путь к файлу представления не выходит за пределы определенных путей шаблонов.
Будут проверяться только пути, содержащие .., так как они наиболее вероятны, чтобы разрешиться до файлов вне путей шаблонов.
Параметры
- string
$file - Путь к файлу шаблона.
- string
$path - Базовый путь, внутри которого должен находиться $file.
Возвращает
stringПуть к файлу
Выбрасывает
InvalidArgumentException_elementCache()source protected
_elementCache( string $name , array $data , array $options )
Генерация параметров кэширования для элемента.
Параметры
- string
$name - Имя элемента
- array
$data - Данные
- array
$options - Параметры элемента
Возвращает
arrayНастройки кэширования элемента.
_evaluate()source protected
_evaluate( string $viewFile , array $dataForView )
Метод для оценки шаблона/скрипта представления.
Параметры
- string
$viewFile - Имя файла представления
- array
$dataForView - Данные для включения в рендер.
Возвращает
stringРезультат рендеринга
_getElementFileName()source protected
_getElementFileName( string $name , boolean $pluginCheck = true )
Поиск имени файла элемента, возвращает false при ошибке.
Параметры
- string
$name - Имя элемента для поиска.
- boolean
$pluginCheckoptional true - если false, будет игнорировать плагин запроса, если плагин не загружен
Возвращает
string|falseИмя файла элемента или false, если не найдено.
_getLayoutFileName()source protected
_getLayoutFileName( string|null $name = null )
Возвращает имя файла макета для этого шаблона в виде строки.
Параметры
- string|null
$nameoptional null - Имя макета для поиска.
Возвращает
stringИмя файла макета (.ctp).
Выбрасывает
Cake\View\Exception\MissingLayoutExceptionесли макет не найден
_getSubPaths()source protected
_getSubPaths( string $basePath )
Находит все пути к подшаблонам, основанные на $basePath. Если в текущем запросе определён префикс, этот метод добавит префиксный путь шаблона к $basePath, переходя вверх по иерархии в случае вложенного префикса. В основном используется для поиска префиксных путей шаблонов для элементов и макетов.
Параметры
- string
$basePath - Базовый путь, для которого нужно получить префиксный.
Возвращает
arrayМассив со всеми путями шаблонов.
_getViewFileName()source protected
_getViewFileName( string|null $name = null )
Возвращает имя файла шаблона для данного действия (.ctp) в виде строки. Имена действий с регистром CamelCase по умолчанию преобразуются в нижний регистр с разделителем подчеркивания. Это означает, что вы можете иметь LongActionNames, которые ссылаются на представления long_action_names.ctp. Вы можете изменить правило инфлекции, переопределив _inflectViewFileName.
Параметры
- string|null
$nameoptional null - Действие контроллера, для которого нужно найти имя файла шаблона
Возвращает
stringИмя файла шаблона
Выбрасывает
Cake\View\Exception\MissingTemplateExceptionесли файл представления не найден.
_inflectViewFileName()source protected
_inflectViewFileName( string $name )
Изменяет имя файла шаблона представления на формат с подчеркиванием.
Параметры
- string
$name - Имя файла, которое должно быть преобразовано.
Возвращает
stringИмя файла после преобразования
_paths()source protected
_paths( string|null $plugin = null , boolean $cached = true )
Возвращает все возможные пути к файлам представлений в определённом порядке
Параметры
- string|null
$pluginoptional null - Необязательное имя плагина для поиска файлов представлений.
- boolean
$cachedoptional true - Установить в false, чтобы принудительно обновить пути представлений. По умолчанию true.
Возвращает
arrayПути
_render()source protected
_render( string $viewFile , array $data = [] )
Рендерит и возвращает вывод для заданного имени файла шаблона с массивом данных. Обрабатывает родительские/расширяемые шаблоны.
Параметры
- string
$viewFile - Имя файла представления
- array
$dataoptional [] Данные для включения в рендер. Если пусто, будут использоваться текущие View::$viewVars.
Возвращает
stringРезультат рендеринга
Выбрасывает
LogicExceptionКогда блок оставлен открытым.
Вызывает
View.beforeRenderFile $this, [$viewFile]View.afterRenderFile $this, [$viewFile, $content]
_renderElement()source protected
_renderElement( string $file , array $data , array $options )
Рендерит элемента и вызывает перед и после событий рендеринга для него и записывает в кэш, если используется кэш.
Параметры
- string
$file - Путь к файлу элемента
- array
$data - Данные для рендеринга
- array
$options - Опции элемента
Возвращает
stringВызывает
View.beforeRender $this, [$file]View.afterRender $this, [$file, $element]
append()source public
append( string $name , mixed $value = null )
Добавить в существующий или новый блок.
Добавление в новый блок создаст этот блок.
Параметры
- строка
$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 deprecated
autoLayout( boolean|null $autoLayout = null )
Включает или выключает традиционный режим применения файлов шаблонов CakePHP. По умолчанию включено. Выключение означает, что макеты не будут автоматически применяться к рендеренным шаблонам.
Устарело
3.5.0 Используйте isAutoLayoutEnabled()/enableAutoLayout() вместо этого.Параметры
- boolean|null
$autoLayoutнеобязательный null - Булево значение для включения/выключения. Если null, возвращает текущее значение.
Возвращает
boolean|nullblocks()source public
blocks( )
Получить имена всех существующих блоков.
Возвращает
arrayМассив, содержащий блоки.
См. также
\Cake\View\ViewBlock::keys()cache()source public
cache( callable $block , array $options = [] )
Создать кэшированный блок логики представления.
Это позволяет кэшировать блок вывода представления в кэш, определенном в elementCache.
Этот метод сначала попытается прочитать кэш. Если кэш пуст, $block будет выполнен, и результат будет сохранен.
Параметры
- вызываемый объект
$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 для вызова обратных вызовов helper 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 deprecated
layout( string|null $name = null )
Получить/установить имя файла макета для отрисовки шаблона внутри него. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
Устарело
3.5.0 Используйте getLayout()/setLayout() вместо этого.Параметры
- string|null
$nameoptional null - Имя файла макета для установки. Если null, возвращает текущее имя.
Возвращает
string|nulllayoutPath()source public deprecated
layoutPath( string|null $path = null )
Получить/установить путь к файлам макета.
Устарело
3.5.0 Используйте getLayoutPath()/setLayoutPath() вместо этого.Параметры
- string|null
$pathoptional null - Путь к файлам макета. Если null, возвращает текущий путь.
Возвращает
string|nullloadHelper()source public
loadHelper( string $name , array $config = [] )
Загружает помощника. Делегирует в HelperRegistry::load() для загрузки помощника.
Параметры
- string
$name - Имя помощника для загрузки.
- array
$configoptional [] - Настройки помощника
Возвращает
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
$fallbackoptional 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
$viewoptional null - Имя файла представления для использования
- string|null
$layoutoptional 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
$layoutoptional 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 )
Установите путь к файлам макета.
Параметры
- string
$path - Путь к файлам макета.
Возвращаемое значение
$this
setTemplate()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
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 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().
Параметры
- 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. Если вы хотите переопределить эти значения для действия requestAction, вы можете указать значения:
$vars = $this->requestAction('/articles/popular', [
'environment' => ['CONTENT_TYPE' => 'application/json']
]); Передача сессии
По умолчанию действия, отправленные с помощью этого метода, будут использовать стандартный объект сессии. Если вам нужно использовать конкретный экземпляр сессии, вы должны его указать.
$vars = $this->requestAction('/articles/popular', [
'session' => new Session($someSessionConfig)
]); Устаревший
3.3.0 Вы должны переписать свой код, чтобы использовать ячейки представления вместо этого метода.Параметры
- string|array
$url Строковый или массивный URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные аргументы в параметре $url.
- array
$extraнеобязательно [] Если массив содержит ключ "return", он устанавливает autoRender в true. Также может быть использован для отправки данных GET/POST и переданных аргументов.
Возвращаемое значение
mixedБулево значение true или false при успехе/неудаче, или содержимое отрисованного действия, если в $extra задан ключ 'return'.
Методы, используемые из Cake\View\ViewVarsTrait
createView()source public
createView( string|null $viewClass = null )
Создаёт экземпляр класса представления на основе текущей конфигурации.
Параметры
- string|null
$viewClassнеобязательно null - Необязательное именованное пространство имён класса представления для создания экземпляра.
Возвращаемое значение
Cake\View\ViewИсключения
Cake\View\Exception\MissingViewExceptionЕсли класс представления не найден.
set()source public
set( string|array $name , mixed $value = null )
Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.
Параметры
- string|array
$name - Строка или массив данных.
- mixed
$valueнеобязательно null Значение в случае, если $name является строкой (которая затем работает как ключ). Не используется, если $name является ассоциативным массивом, иначе служит значениями для ключей $name.
Возвращаемое значение
$this
viewBuilder()source public
viewBuilder( )
Получить используемый билдер представлений.
Возвращаемое значение
Cake\View\ViewBuilderviewOptions()source public
viewOptions( string|array|null $options = null , boolean $merge = true )
Получить/установить допустимые опции представления в свойстве _validViewOptions объекта. Свойство создается как пустой массив, если оно не задано. Если вызвана без параметров, она вернёт текущий список допустимых опций представления. См. createView().
Параметры
- string|array|null
$optionsнеобязательно null - строка или массив строк, которые будут добавлены к _validViewOptions.
- boolean
trueнеобязательно 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'
$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
$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 string
$viewPathsource
public string
© 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.6/class-Cake.View.View.html