Класс View
View, V в триаде MVC. View взаимодействует с Помощниками и переменными представления, переданными из контроллера, чтобы отобразить результаты действия контроллера. Часто это 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 - Коллекция помощников
$_helpersprotected -
$_parentsprotectedИмена представлений и их родителей, используемые с View::extend();array -
$_passedVarsprotectedСписок переменных для сбора из связанного контроллера.array -
$_pathsprotectedСодержит массив путей.array -
$_pathsForPluginprotectedСодержит массив путей плагинов.array -
$_stackprotectedСтек содержимого, используемый для вложенных шаблонов, которые все используют View::extend();array -
$autoLayoutpublicbooleanВключает или выключает стандартный режим CakePHP по применению файлов макетов. Включено по умолчанию. Выключение означает, что макеты не будут автоматически применяться к рендерным шаблонам.
-
$elementCachepublicstringКонфигурация кэша, которую View будет использовать для хранения кэшированных элементов. Изменение этого параметра изменит конфигурацию по умолчанию, под которой хранятся элементы. Вы также можете выбрать конфигурацию кэша для каждого элемента.
-
$hasRenderedpublicИстина, если представление уже отображено.boolean -
$helperspublicМассив имён встроенных помощников для включения.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
Унаследованные свойства
Краткое описание методов
- __construct() publicКонструктор
- __get() publicМагический аксессор для хелперов.
- __set() publicМагический сеттер для устаревших свойств.
- _checkFilePath() protectedПроверка, что путь к файлу представления не выходит за пределы определённых путей шаблонов.
- _elementCache() protectedГенерация параметров кэширования для элемента.
- _evaluate() protectedМетод-песочница для вычисления шаблона/скрипта представления.
- _getElementFileName() protectedПоиск имени файла элемента, возвращает false при ошибке.
- _getLayoutFileName() protectedВозвращает имя файла макета для данного шаблона в виде строки.
- _getSubPaths() protected
Находит все пути к подшаблонам, основанные на $basePath. Если в текущем запросе определён префикс, этот метод добавит префиксный путь шаблона к $basePath, переходя вверх по иерархии, в случае вложенного префикса. Суть в том, чтобы найти префиксные пути к шаблонам для элементов и макетов.
- _getViewFileName() protected
Возвращает имя файла шаблона действия (.ctp) в виде строки. Имена действий с верблюжьей нотацией (CamelCased) по умолчанию преобразуются в нижний регистр с нижним подчеркиванием. Это означает, что у вас могут быть имена действий с длинными названиями, которые ссылаются на представления 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Возвращает содержимое заданной переменной представления.
- getCurrentType() publicПолучение текущего типа представления.
- getVars() publicВозвращает список переменных, доступных в текущем контексте представления.
- helpers() publicПолучение реестра хелперов, используемого этим классом представления.
- 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$requestoptional null - Экземпляр запроса.
-
Cake\Network\Response$responseoptional null - Экземпляр ответа.
-
Cake\Event\EventManager$eventManageroptional null - Экземпляр диспетчера событий.
- массив
$viewOptionsoptional [] Параметры представления. См. 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 Данные для включения в отрисовываемое представление. Если пусто, будут использоваться текущие View::$viewVars.
Возвращает
строкаРезультат рендеринга
_getElementFileName()source protected
_getElementFileName( string $name )
Находит имя файла элемента, возвращает false при неудаче.
Параметры
- строка
$name - Имя элемента для поиска.
Возвращает
строка|ложьСтрока имени файла элемента или ложь, если файл не найден.
_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 )
Отображает элемент и запускает перед и после него вызовы обратного вызова для него и записывает в кэш, если используется кэш.
Параметры
- строка
$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, чтобы не выбрасывать исключения.
Возвращает
строкаОтображённый элемент
Выбрасывает
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. Проверяет, загружен ли плагин, иначе имя файла остаётся неизменным для имён файлов, содержащих точку.
Параметры
- строка
$name - Имя плагина, которое нужно разделить.
- логическое значение
$fallbackнеобязательно true - Если true, использует плагин, заданный в текущем запросе, когда загруженный плагин не найден.
Возвращает
массивМассив с двумя индексами. 0 => имя плагина, 1 => имя файла
prepend()source public
prepend( string $name , mixed $value )
Добавляет в начало существующего или нового блока.
Добавление в новый блок создаст блок.
Параметры
- строка
$name - Имя блока
- смешанное
$value Содержимое блока. Значение будет преобразовано в строку.
См. также
\Cake\View\ViewBlock::concat()render()source public
render( string|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()start()source public
start( string $name )
Начать захват вывода для 'блока'
Вы можете использовать start несколько раз для добавления или вставки содержимого в режиме захвата.
// Append content to an existing block.
$this->start('content');
echo $this->fetch('content');
echo 'Some new content';
$this->end();
// Prepend content to an existing block
$this->start('content');
echo 'Some new content';
echo $this->fetch('content');
$this->end(); Параметры
- строка
$name - Имя блока, для которого нужно захватить вывод.
См. также
\Cake\View\ViewBlock::start()template()source public
template( string|null $name null )
Получить/установить имя файла шаблона для отображения. Указанное имя — имя файла в /src/Template/<подпапка> без расширения .ctp.
Параметры
- строка|null
$nameнеобязательно null - Имя файла шаблона для установки. Если null, возвращает текущее имя.
Возвращает
строка|nulltemplatePath()source public
templatePath( string|null $path null )
Получить/установить путь к файлам шаблонов.
Параметры
- строка|null
$pathнеобязательно null - Путь к файлам шаблонов. Если null, возвращает текущий путь.
Возвращает
строка|nulltheme()source public
theme( string|null $theme null )
Тема представления для использования.
Параметры
- строка|null
$themeнеобязательно null - Имя темы. Если null, возвращает текущую тему.
Возвращает
строка|nulluuid()source public
uuid( string $object , string $url )
Генерирует уникальный, не случайный идентификатор DOM для объекта на основе типа объекта и целевого URL.
Параметры
- строка
$object - Тип объекта, например, 'форма' или 'ссылка'
- строка
$url - Целевой URL объекта
Возвращает
строкаМетоды, используемые из Cake\View\CellTrait
_createCell()source protected
_createCell( string $className , string $action , string $plugin , array $options )
Создание и настройка экземпляра ячейки.
Параметры
- строка
$className - Имя класса ячейки.
- строка
$action - Имя действия.
- строка
$plugin - Имя плагина.
- массив
$options - Параметры конструктора для ячейки.
Возвращает
Cake\View\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'); Ячейки не отображаются, пока не будут выведены.
Параметры
- строка
$cell Вы должны указать имя ячейки и, необязательно, действие ячейки. Например:
TagCloud::smallListвызоветView\Cell\TagCloudCell::smallList(), действиеdisplayбудет вызвано по умолчанию, если не указано.- массив
$dataнеобязательно [] Дополнительные аргументы для метода ячейки. Например:
cell('TagCloud::smallList', ['a1' => 'v1', 'a2' => 'v2'])соответствуетView\Cell\TagCloud::smallList(v1, v2)- массив
$optionsнеобязательно [] - Параметры для конструктора ячейки
Возвращает
Cake\View\CellЭкземпляр ячейки
Выбрасывает
Cake\View\Exception\MissingCellExceptionЕсли класс ячейки не был найден.
BadMethodCallException
Если класс ячейки не указал действие ячейки.
Методы, используемые из Cake\Event\EventDispatcherTrait
dispatchEvent()source public
dispatchEvent( string $name , array|null $data null , object|null $subject null )
Обёртка для создания и отправки событий.
Возвращает обработанное событие.
Параметры
- строка
$name - Имя события.
- массив|null
$dataнеобязательно null Любое значение, которое вы хотите передать с этим событием, чтобы слушатели могли его прочитать.
- объект|null
$subjectнеобязательно null Объект, к которому относится это событие (по умолчанию $this).
Возвращает
Cake\Event\EventeventManager()source public
eventManager( Cake\Event\EventManager $eventManager null )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов событий объекта, или создавать свои собственные события и вызывать их по своему усмотрению.
Параметры
-
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
$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'); Базовый пример request action для получения отрисованной страницы без макета.
$viewHtml = $this->requestAction('/articles/popular', ['return']); Вы также можете передать URL в виде массива:
$vars = $this->requestAction(['controller' => 'articles', 'action' => 'popular']);
Передача других данных запроса
Вы можете передать данные POST, GET, COOKIE и другие данные в запрос, используя соответствующие ключи. Куки могут быть переданы с помощью ключа cookies. Параметры GET могут быть установлены с помощью ключа query, а данные POST могут быть отправлены с помощью ключа post.
$vars = $this->requestAction('/articles/popular', [
'query' => ['page' => 1],
'cookies' => ['remember_me' => 1],
]); Отправка значений среды или заголовков
По умолчанию действия, отправленные этим методом, будут использовать глобальные значения $_SERVER и $_ENV. Если вы хотите переопределить эти значения для действия запроса, вы можете указать значения:
$vars = $this->requestAction('/articles/popular', [
'environment' => ['CONTENT_TYPE' => 'application/json']
]); Передача сессии
По умолчанию действия, отправленные этим методом, будут использовать стандартный объект сессии. Если вы хотите использовать определенный экземпляр сессии, вам нужно указать его.
$vars = $this->requestAction('/articles/popular', [
'session' => new Session($someSessionConfig)
]); Параметры
- 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 , string|array|null|boolean $value null )
Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.
Параметры
- string|array
$name - Строка или массив данных.
- string|array|null|boolean
$valueнеобязательно null Значение в случае, если $name — строка (тогда она работает как ключ). Не используется, если $name — ассоциативный массив, иначе служит значениями для ключей $name.
Возвращает
$this
viewBuilder()source public
viewBuilder( )
Получить используемого билдера представлений.
Возвращает
Cake\View\ViewBuilderviewOptions()source public
viewOptions( string|array|null $options null , boolean $merge true )
Получить/установить допустимые параметры представления в свойстве _validViewOptions объекта. Свойство создаётся как пустой массив, если оно не задано. Если вызывается без параметров, возвращает текущий список допустимых параметров представления. Смотрите createView().
Параметры
- string|array|null
$optionsнеобязательно null - строка или массив строк, которые нужно добавить в _validViewOptions.
- boolean
$mergeнеобязательно true Объединить или переопределить существующие допустимые параметры представления. По умолчанию
true.
Возвращает
arrayОбновлённые параметры представления в виде массива.
Подробное описание свойств
$_currentsource
protected string
Текущий файл представления, который отрисовывается. Используется для разрешения родительских файлов.
null
$_currentTypesource
protected string
В данный момент отрисовывается элемент. Используется для поиска родительских фрагментов для элементов.
''
$_parentssource
protected array
Имена представлений и их родителей, используемые с View::extend();
[]
$_passedVarssource
protected array
Список переменных для сбора из связанного контроллера.
[
'viewVars', 'autoLayout', 'helpers', 'template', 'layout', 'name', 'theme',
'layoutPath', 'templatePath', 'plugin', 'passedArgs'
] $_stacksource
protected array
Стек содержимого, используемый для вложенных шаблонов, которые все используют View::extend();
[]
$autoLayoutsource
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/<подкаталог> без расширения .ctp.
null
$templatePathsource
public string
Имя подкаталога, содержащего шаблоны для этого представления.
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
© 2005–2016 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.
http://api.cakephp.org/3.2/class-Cake.View.View.html