Класс View
View, V в триаде MVC. View взаимодействует с Helpers и переменными представления, передаваемыми из контроллера, чтобы отобразить результаты действия контроллера. Часто это HTML, но также может быть в формате JSON, XML, PDF или потоковые файлы.
CakePHP использует двухступенчатую модель представления. Это означает, что содержимое шаблона сначала отображается, а затем вставляется в выбранную макетную страницу. Это также означает, что вы можете передавать данные из шаблона в макетную страницу с помощью $this->set()
Класс View поддерживает использование плагинов в качестве тем. Вы можете установить
public function beforeRender(\Cake\Event\Event $event)
{
$this->viewBuilder()->theme('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
Непосредственные подклассы
Косвенные подклассы
Краткое описание констант
-
string'element' -
string'layout' -
string'view' -
string'view'
Краткое описание свойств
- Экземпляр ViewBlock.
$Blockspublic -
$_currentprotectedФайл представления, который в данный момент отображается. Используется для разрешения родительских файлов.string -
$_currentTypeprotectedstringВ данный момент отображается элемент. Используется для поиска родительских фрагментов для элементов.
-
$_extprotectedРасширение файла. По умолчанию использует шаблон CakePHP ".ctp".string - Коллекция Helpers.
$_helpersprotected -
$_parentsprotectedИмена представлений и их родителей, используемые с View::extend();array -
$_passedVarsprotectedСписок переменных для сбора от связанного контроллера.array -
$_pathsprotectedСодержит массив путей.array -
$_pathsForPluginprotectedСодержит массив путей плагинов.array -
$_stackprotectedСтек содержимого, используемый для вложенных шаблонов, которые все используют View::extend();array -
$autoLayoutpublicbooleanВключает или выключает стандартный режим CakePHP по применению файлов макета. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к отображаемым шаблонам.
-
$elementCachepublicstringКонфигурация кэша, которую View будет использовать для хранения кэшированных элементов. Изменение этой конфигурации изменит конфигурацию по умолчанию, под которой хранятся элементы. Вы также можете выбрать конфигурацию кэша для каждого элемента.
-
$hasRenderedpublicИстинно, когда представление отображено.boolean -
$helperspublicМассив имён встроенных helpers для включения.array -
$layoutpublicstringИмя файла макета, в который нужно вставить шаблон. Указанное имя - имя файла макета в /src/Template/Layout без расширения .ctp.
-
$layoutPathpublicИмя подкаталога макетов, содержащего макеты для этого представления.string -
$namepublicИмя контроллера, который создал представление, если таковой имеется.string -
$passedArgspublicТекущие переданные параметры. Передаются в View от создающего контроллера для удобства.array -
$pluginpublicИмя плагина.string -
$requestpublicЭкземпляр объекта Cake\Network\Request, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.
- Ссылка на объект Response.
$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) в виде строки. Имена действий с верхним регистром будут преобразованы в нижний регистр с символом подчеркивания по умолчанию. Это означает, что вы можете иметь 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Проверка существования элемента.
- end() publicЗавершение блока захвата. Комплементарное к View::start()
- exists() publicПроверка существования блока.
- extend() public
Обеспечивает расширение/наследование шаблонов или элементов. Представления могут расширять родительское представление и заполнять блоки в родительском шаблоне.
- fetch() public
Получить содержимое блока. Если блок пуст или не определён, будет возвращено пустая строка.
- get() publicВозвращает содержимое заданной переменной View.
- getCurrentType() publicПолучить текущий тип представления.
- getVars() publicВозвращает список переменных, доступных в текущем контексте View.
- helpers() publicПолучить реестр хелперов, используемых этим классом View.
- initialize() publicМетод инициализации.
- 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
Сбросить содержимое блока. Это перезапишет любое существующее содержимое.
- start() publicНачать захват вывода для 'блока'.
- template() public
Получить/установить имя файла шаблона для отображения. Указанное имя — имя файла в /src/Template/<подпапка> без расширения .ctp.
- templatePath() publicПолучить/установить путь к файлам шаблонов.
- theme() publicТема представления, которую использовать.
- uuid() publicГенерирует уникальный, не случайный идентификатор DOM для объекта, основываясь на типе объекта и целевом URL.
Подробное описание метода
__construct()source public
__construct( Cake\Network\Request $request null , Cake\Network\Response $response null , Cake\Event\EventManager $eventManager null , array $viewOptions [] )
Конструктор
Параметры
-
Cake\Network\Request$requestнеобязательно null - Экземпляр запроса.
-
Cake\Network\Response$responseнеобязательно null - Экземпляр ответа.
-
Cake\Event\EventManager$eventManagerнеобязательно null - Экземпляр менеджера событий.
- массив
$viewOptionsнеобязательно [] Параметры представления. См. View::$_passedVars для списка параметров, которые устанавливаются как свойства класса.
__get()source public
__get( string $name )
Магический аксессор для хелперов.
Параметры
- строка
$name - Имя атрибута для получения.
Возвращает
mixed__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 Данные для включения в рендер. Если пусто, используются текущие View::$viewVars.
Возвращает
строкаРезультат рендеринга
_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 по применению файлов макета. Включено по умолчанию. Выключение означает, что макеты не будут автоматически применяться к рендеренным шаблонам.
Параметры
- логическое значение|null
$autoLayoutнеобязательно null - Логическое значение для включения/выключения. Если null, возвращает текущее значение.
Возвращает
логическое значение|nullblocks()source public
blocks( )
Получить имена всех существующих блоков.
Возвращает
массивМассив, содержащий блоки.
См. также
\Cake\View\ViewBlock::keys()cache()source public
cache( callable $block , array $options [] )
Создать кэшированный блок логики представления.
Это позволяет кэшировать блок вывода представления в кэше, определённом в elementCache.
Этот метод сначала попытается прочитать кэш. Если кэш пустой, $block будет выполнен, а вывод сохранён.
Параметры
- callable
$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. Если элемент не найден в плагине, будет произведен обычный поиск по пути к представлению.
Возвращает
логическое значениеУспех
end()source public
end( )
Завершение блока захвата. Дополнение к View::start()
См. также
\Cake\View\ViewBlock::end()exists()source public
exists( string $name )
Проверка существования блока
Параметры
- строка
$name - Имя блока
Возвращает
логическое значениеextend()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( )
Получить текущий тип представления
Возвращает
строкаgetVars()source public
getVars( )
Возвращает список переменных, доступных в текущем контексте представления
Возвращает
массивМассив имён установленных переменных представления.
helpers()source public
helpers( )
Получить реестр помощников, используемый этим классом представления.
Возвращает
Cake\View\HelperRegistryinitialize()source public
initialize( )
Метод инициализации.
Свойства, такие как $helpers и т.д., нельзя инициализировать статически в вашем пользовательском классе представления, так как они перезаписываются значениями из контроллера в конструкторе. Этот метод позволяет манипулировать ими по мере необходимости после того, как экземпляр представления был создан.
layout()source public
layout( string|null $name null )
Получить/установить имя файла макета для отображения шаблона внутри. Указанное имя — имя файла макета в /src/Template/Layout без расширения .ctp.
Параметры
- строка|null
$nameнеобязательно null - Имя файла макета для установки. Если null, возвращает текущее имя.
Возвращает
строка|nulllayoutPath()source public
layoutPath( string|null $path null )
Получить/установить путь к файлам макета.
Параметры
- строка|null
$pathнеобязательно null - Путь к файлам макета. Если null, возвращает текущий путь.
Возвращает
строка|nullloadHelper()source public
loadHelper( string $name , array $config [] )
Загружает помощника. Делегирует загрузку помощника в HelperRegistry::load()
Параметры
- строка
$name - Имя помощника для загрузки.
- массив
$configнеобязательно [] - Настройки для помощника
Возвращает
Cake\View\Helperобъект сконструированного помощника.
См. также
\Cake\View\HelperRegistry::load()loadHelpers()source public
loadHelpers( )
Взаимодействует с HelperRegistry для загрузки всех помощников.
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 Содержание блока. Значение будет приведено к строковому типу.
См. также
\Cake\View\ViewBlock::concat()render()source public
render( string|null $view null , string|null $layout null )
Отображает представление для заданного файла шаблона и макета.
Render вызывает обратные вызовы помощников, которые срабатывают до и после рендеринга шаблона, а также до и после макета. Обратные вызовы помощников вызываются:
beforeRenderafterRenderbeforeLayoutafterLayout
Если View::$autoRender равен false и не указан $layout, шаблон будет возвращен без обработки.
Имена шаблонов и макетов могут указывать на шаблоны/макеты плагинов. Используя синтаксис Plugin.template, можно использовать шаблон/макет плагина вместо приложения. Если выбранный плагин не найден, шаблон будет расположен по стандартному пути к представлению.
Параметры
- string|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 - Имя блока
См. также
\Cake\View\ViewBlock::set()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/<подпапка> без расширения .ctp.
Параметры
- string|null
$nameнеобязательно null - Имя файла шаблона для установки. Если null, возвращает текущее имя.
Возвращает
string|nulltemplatePath()source public
templatePath( string|null $path null )
Получить/установить путь к файлам шаблонов.
Параметры
- string|null
$pathнеобязательно null - Путь к файлам шаблонов. Если null, возвращает текущий путь.
Возвращает
string|nulltheme()source public
theme( string|null $theme null )
Тема представления для использования.
Параметры
- 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\Cell;cell()source public
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 для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или для создания собственных событий и их запуска.
Параметры
-
Cake\Event\EventManager$eventManagerнеобязательно null - устанавливаемый eventManager
Возвращает
Cake\Event\EventManagerМетоды, используемые из Cake\Log\LogTrait
log()source public
log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )
Метод для записи сообщения в журнал. Подробнее о записи в лог см. Log::write().
Параметры
- mixed
$msg - Сообщение для записи в лог.
- integer|string
$leveloptional LogLevel::ERROR - Уровень ошибки.
- string|array
$contextoptional [] - Дополнительные данные для лога, относящиеся к этому сообщению.
Возвращает
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'); Базовый пример request action для получения отрисованной страницы без макета.
$viewHtml = $this->requestAction('/articles/popular', ['return']); Также вы можете передать URL в виде массива:
$vars = $this->requestAction(['controller' => 'articles', 'action' => 'popular']);
Передача других данных запроса
Вы можете передать данные POST, GET, COOKIE и другие данные в запрос, используя соответствующие ключи. Cookies могут быть переданы с помощью ключа 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
$extraoptional [] Если массив содержит ключ "return", он устанавливает autoRender в true. Также может использоваться для отправки данных GET/POST и переданных аргументов.
Возвращает
mixedБулево значение true или false при успехе/неуспехе или содержимое отрисованного действия, если в $extra установлен ключ 'return'.
Методы, используемые из Cake\View\ViewVarsTrait
createView()source public
createView( string|null $viewClass null )
Создает экземпляр класса представления на основе текущей конфигурации.
Параметры
- string|null
$viewClassoptional null - Необязательное имя пространственного класса представления для создания экземпляра.
Возвращает
Cake\View\ViewВыбрасывает
Cake\View\Exception\MissingViewExceptionЕсли класс представления не найден.
set()source public
set( string|array $name , mixed $value null )
Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.
Параметры
- string|array
$name - Строка или массив данных.
- mixed
$valueoptional 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
$optionsoptional null - Строка или массив строк, которые нужно добавить в _validViewOptions.
- boolean
$mergeoptional true Следует ли объединить или переопределить существующие допустимые параметры представления. По умолчанию
true.
Возвращает
arrayОбновленные параметры представления в виде массива.
Подробное описание свойств
$_currentsource
protected string
Текущий файл представления, который отрисовывается. Используется для разрешения родительских файлов.
null
$_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
Имя подпапки макетов, содержащей макеты для этого представления.
null
$passedArgssource
public array
Текущие переданные параметры. Передаются в представление от создающего контроллера для удобства.
Устарело
3.1.0 Используйте$this->request->params['pass'] вместо этого.[]
$requestsource
public Cake\Network\Request
Экземпляр объекта Cake\Network\Request, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для получения дополнительной информации о запросе.
$subDirsource
public string
Подкаталог для этого файла шаблона. Часто используется для маршрутизации на основе расширений. Например, с расширением xml, $subDir будет xml/
null
$templatesource
public string
Имя файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/
null
Подробности магических свойств
$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–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.3/class-Cake.View.View.html