Spec-Zone.ru › CakePHP 3.4

Класс представления

Представление, V в триаде MVC. Представление взаимодействует с помощниками и переменными представления, переданными из контроллера, чтобы отобразить результаты действия контроллера. Часто это HTML, но также может быть JSON, XML, PDF или потоковые файлы.

CakePHP использует двухэталонную модель представления. Это означает, что сначала рендерится содержимое шаблона, а затем оно вставляется в выбранный макет. Это также означает, что вы можете передавать данные из шаблона в макет, используя $this->set()

Класс представления поддерживает использование плагинов в качестве тем. Вы можете установить

public function beforeRender(\Cake\Event\Event $event)
{
     $this->viewBuilder()->setTheme('SuperHot');
}

в своём контроллере, чтобы использовать плагин SuperHot в качестве темы. Например, если текущее действие — PostsController::index(), то класс представления будет искать файл шаблона plugins/SuperHot/Template/Posts/index.ctp. Если шаблон темы для текущего действия не найден, используется файл шаблона по умолчанию приложения.

Cake\View\View реализует Cake\Event\EventDispatcherInterface использует Cake\View\CellTrait , Cake\Event\EventDispatcherTrait , Cake\Log\LogTrait , Cake\Routing\RequestActionTrait , Cake\View\ViewVarsTrait

Непосредственные подклассы

  • Cake\View\AjaxView
  • Cake\View\SerializedView

Косвенные подклассы

  • Cake\View\JsonView
  • Cake\View\XmlView
Пространство имён: Cake\View
Расположение: View/View.php

Краткое описание констант

  • string

    NAME_ELEMENT
    'Element'
  • string

    NAME_TEMPLATE
    'Template'
  • string

    TYPE_ELEMENT
    'element'
  • string

    TYPE_LAYOUT
    'layout'
  • string

    TYPE_TEMPLATE
    'view'
  • string

    TYPE_VIEW
    'view'

Краткое описание свойств

  • $Blocks public
    Cake\View\ViewBlock
    Экземпляр ViewBlock.
  • $_current protected
    string
    Файл представления, который в данный момент рендерится. Используется для поиска родительских файлов.
  • $_currentType protected
    string

    В данный момент рендерится элемент. Используется для поиска родительских фрагментов элементов.

  • $_ext protected
    string
    Расширение файла. По умолчанию используется шаблон CakePHP ".ctp".
  • $_helpers protected
    Cake\View\HelperRegistry
    Коллекция помощников
  • $_parents protected
    array
    Имена представлений и их родителей, используемые с View::extend();
  • $_passedVars protected
    array
    Список переменных для сбора из связанного контроллера.
  • $_paths protected
    array
    Содержит массив путей.
  • $_pathsForPlugin protected
    array
    Содержит массив путей плагинов.
  • $_stack protected
    array
    Стек содержимого, используемый для вложенных шаблонов, которые все используют View::extend();
  • $autoLayout public
    boolean

    Включает или выключает стандартный режим CakePHP применения файлов макетов. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к рендеренным шаблонам.

  • $elementCache public
    string

    Конфигурация кэша, которую будет использовать представление для хранения кэшированных элементов. Изменение этого повлияет на конфигурацию по умолчанию, под которой хранятся элементы. Вы также можете выбрать конфигурацию кэша для каждого элемента.

  • $hasRendered public
    boolean
    Истина, когда представление было рендерировано.
  • $helpers public
    array
    Массив имён встроенных помощников для включения.
  • $layout public
    string

    Имя файла макета для рендеринга шаблона внутри него. Указанное имя — имя файла макета в /src/Template/Layout без расширения .ctp.

  • $layoutPath public
    string
    Имя подпапки макетов, содержащей макеты для этого представления.
  • $name public
    string
    Имя контроллера, создавшего представление, если таковой имеется.
  • $passedArgs public
    array
    Текущие переданные параметры. Передаются в представление от создающего контроллера для удобства.
  • $plugin public
    string
    Имя плагина.
  • $request public
    Cake\Http\ServerRequest

    Экземпляр объекта \Cake\Http\ServerRequest, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.

  • $response public
    Cake\Http\Response
    Ссылка на объект ответа
  • $subDir public
    string

    Подкаталог для этого файла шаблона. Часто используется для маршрутизации на основе расширений. Например, с расширением xml, $subDir будет xml/

  • $template public
    string

    Имя файла шаблона для рендеринга. Указанное имя — имя файла в /src/Template/<подпапка> без расширения .ctp.

  • $templatePath public
    string
    Имя подпапки, содержащей шаблоны для этого представления.
  • $theme public
    string
    Тема представления для использования.
  • $uuids public
    array
    Список сгенерированных UUID DOM.

Краткое описание магических свойств

  • $Blocks public
    Cake\View\ViewBlock
  • $Flash public
    Cake\View\Helper\FlashHelper
  • $Form public
    Cake\View\Helper\FormHelper
  • $Html public
    Cake\View\Helper\HtmlHelper
  • $Number public
    Cake\View\Helper\NumberHelper
  • $Paginator public
    Cake\View\Helper\PaginatorHelper
  • $Rss public
    Cake\View\Helper\RssHelper
  • $Session public
    Cake\View\Helper\SessionHelper
  • $Text public
    Cake\View\Helper\TextHelper
  • $Time public
    Cake\View\Helper\TimeHelper
  • $Url public
    Cake\View\Helper\UrlHelper
  • $view public
    string
  • $viewPath public
    string

Наследуемые магические свойства

  • _validViewOptions

Наследуемые свойства

  • _eventClass, _eventManager _viewBuilder, viewClass, viewVars

Краткое описание методов

  • __construct() public
    Конструктор
  • __get() public
    Магический аксессор для помощников.
  • __set() public
    Магический установщик для устаревших свойств.
  • _checkFilePath() protected
    Проверить, что путь к файлу представления не выходит за пределы определённых путей шаблонов.
  • _elementCache() protected
    Создать конфигурацию кеша для элемента.
  • _evaluate() protected
    Метод-песочница для оценки шаблона/скрипта представления.
  • _getElementFileName() protected
    Находит имя файла элемента, возвращает false при ошибке.
  • _getLayoutFileName() protected
    Возвращает имя файла макета для данного шаблона в виде строки.
  • _getSubPaths() protected

    Найти все пути к подшаблонам, основываясь на $basePath. Если в текущем запросе определён префикс, этот метод добавит префиксный путь шаблона к $basePath, продвигаясь вверх по иерархии в случае вложенного префикса. Суть в том, чтобы найти префиксные пути к шаблонам элементов и макетов.

  • _getViewFileName() protected

    Возвращает имя файла шаблона действия (.ctp) в виде строки. Имена действий с верхним регистром (CamelCase) по умолчанию преобразуются в нижний регистр с нижними подчёркиваниями (under_scored). Это означает, что у вас могут быть LongActionNames, которые ссылаются на представления long_action_names.ctp. Вы можете изменить правило инфлексии, переопределив _inflectViewFileName.

  • _inflectViewFileName() protected
    Изменить имя файла шаблона представления на подчёркнутый формат.
  • _paths() protected
    Возвращает все возможные пути к файлам представлений в порядке
  • _render() protected

    Отображает и возвращает вывод для данного файла шаблона со своим массивом данных. Обрабатывает родительские/расширенные шаблоны.

  • _renderElement() protected

    Отображает элемент и вызывает обратные вызовы before и afterRender для него, записывает в кэш, если используется кэширование.

  • append() public
    Добавить в существующий или новый блок.
  • assign() public

    Установить содержимое для блока. Это перезапишет любое существующее содержимое.

  • autoLayout() public

    Включает или выключает стандартный режим CakePHP по применению файлов макета. Включено по умолчанию. Выключение означает, что макеты не будут автоматически применяться к рендеренным шаблонам.

  • blocks() public
    Получить имена всех существующих блоков.
  • cache() public
    Создать кэшированный блок логики представления.
  • element() public
    Отображает фрагмент PHP с предоставленными параметрами и возвращает HTML, XML или любую другую строку.
  • elementExists() public
    Проверяет существование элемента
  • enableAutoLayout() public

    Включает или выключает стандартный режим CakePHP по применению файлов макета. Включено по умолчанию. Выключение означает, что макеты не будут автоматически применяться к рендеренным представлениям.

  • end() public
    Завершить блок захвата. Это аналог View::start()
  • exists() public
    Проверить существование блока
  • extend() public

    Обеспечивает расширение/наследование шаблонов или элементов. Представления могут расширять родительское представление и заполнять блоки в родительском шаблоне.

  • fetch() public

    Получить содержимое блока. Если блок пуст или не определён, возвращается ''.

  • get() public
    Возвращает содержимое заданной переменной представления.
  • getCurrentType() public
    Получить текущий тип представления
  • getLayout() public

    Получить имя файла макета для рендеринга шаблона внутри него. Указанное имя является именем файла макета в /src/Template/Layout без расширения .ctp.

  • getLayoutPath() public
    Получить путь к файлам макета.
  • getTemplate() public

    Получить имя файла шаблона для рендеринга. Указанное имя — имя файла в /src/Template/<подпапка> без расширения .ctp.

  • getTemplatePath() public
    Получить путь к файлам шаблонов.
  • getTheme() public
    Получить текущую тему представления.
  • getVars() public
    Возвращает список переменных, доступных в текущем контексте представления.
  • helpers() public
    Получить реестр помощников, используемый этим классом представления.
  • initialize() public
    Метод начальной инициализации.
  • isAutoLayoutEnabled() public

    Возвращает, включён ли стандартный режим CakePHP по применению файлов макета. Выключено — макеты не применяются автоматически к рендеренным представлениям.

  • layout() public

    Получить/установить имя файла макета для рендеринга шаблона внутри него. Указанное имя является именем файла макета в /src/Template/Layout без расширения .ctp.

  • layoutPath() public
    Получить/установить путь к файлам макета.
  • loadHelper() public
    Загрузить помощника. Делегирует загрузку помощника HelperRegistry::load().
  • loadHelpers() public
    Взаимодействие с HelperRegistry для загрузки всех помощников.
  • pluginSplit() public

    Разделить имя плагина в формате "точка" на плагин и имя файла. Если $name не содержит точку, то index 0 будет null. Проверяет, загружен ли плагин, иначе имя файла остаётся неизменным для имён файлов, содержащих точку.

  • prepend() public
    Добавить в начало существующего или нового блока.
  • render() public
    Отобразить представление для заданного файла шаблона и макета.
  • renderLayout() public

    Отобразить макет. Возвращает вывод от _render(). Возвращает false при ошибке. Создаются несколько переменных для использования в макете.

  • reset() public

    Сбросить содержимое блока. Это перезапишет любое существующее содержимое.

  • setLayout() public

    Установить имя файла макета для рендеринга шаблона внутри него. Указанное имя является именем файла макета в /src/Template/Layout без расширения .ctp.

  • setLayoutPath() public
    Установить путь к файлам макета.
  • setTemplate() public

    Установить имя файла шаблона для рендеринга. Указанное имя — имя файла в /src/Template/<подпапка> без расширения .ctp.

  • setTemplatePath() public
    Установить путь к файлам шаблонов.
  • setTheme() public
    Установить тему представления для использования.
  • start() public
    Начать захват вывода для 'блока'.
  • template() public

    Получить/установить имя файла шаблона для рендеринга. Указанное имя — имя файла в /src/Template/<подпапка> без расширения .ctp.

  • templatePath() public
    Получить/установить путь к файлам шаблонов.
  • theme() public
    Тема представления для использования.
  • uuid() public
    Генерирует уникальный, неслучайный идентификатор DOM для объекта на основе типа объекта и целевого URL.

Подробное описание методов

__construct()source public

__construct( Cake\Http\ServerRequest $request null , Cake\Http\Response $response null , Cake\Event\EventManager $eventManager null , array $viewOptions [] )

Конструктор

Параметры

Cake\Http\ServerRequest $request необязательный null
Экземпляр запроса.
Cake\Http\Response $response необязательный null
Экземпляр ответа.
Cake\Event\EventManager $eventManager необязательный null
Экземпляр менеджера событий.
массив $viewOptions необязательный []

Параметры представления. Список параметров, которые устанавливаются в качестве свойств класса, см. в View::$_passedVars.

__get()source public

__get( string $name )

Магический доступ к помощникам.

Параметры

строка $name
Имя атрибута для получения.

Возвращает

смешанный

__set()source public

__set( string $name , mixed $value )

Магическое задание для устаревших свойств.

Параметры

строка $name
Имя свойства.
смешанный $value
Значение свойства.

_checkFilePath()source protected

_checkFilePath( string $file , string $path )

Проверка, что путь к файлу представления не выходит за пределы определённых путей шаблонов.

Будут проверены только пути, содержащие .., так как они наиболее вероятны для разрешения в файлы за пределами путей шаблонов.

Параметры

строка $file
Путь к файлу шаблона.
строка $path
Базовый путь, внутри которого должен находиться $file.

Возвращает

строка
Путь к файлу

Выбрасывает

InvalidArgumentException

_elementCache()source protected

_elementCache( string $name , array $data , array $options )

Генерация параметров кэширования для элемента.

Параметры

строка $name
Имя элемента
массив $data
Данные
массив $options
Параметры элемента

Возвращает

массив
Конфигурация кэша элемента.

_evaluate()source protected

_evaluate( string $viewFile , array $dataForView )

Метод для оценки шаблона/скрипта представления.

Параметры

строка $viewFile
Имя файла представления
массив $dataForView
Данные для включения в рендер представления.

Возвращает

строка
Выходной рендеринг

_getElementFileName()source protected

_getElementFileName( string $name , boolean $pluginCheck true )

Поиск имени файла элемента, возвращает false при неудаче.

Параметры

строка $name
Имя элемента для поиска.
булево $pluginCheck необязательный true
  • если false, будет игнорироваться плагин запроса, если загруженный плагин не найден

Возвращает

строка|false
Строка имени файла элемента или false, если файл не найден.

_getLayoutFileName()source protected

_getLayoutFileName( string|null $name null )

Возвращает имя файла макета для данного шаблона в виде строки.

Параметры

строка|null $name необязательный null
Имя макета для поиска.

Возвращает

строка
Имя файла макета (.ctp).

Выбрасывает

Cake\View\Exception\MissingLayoutException
если макет не найден

_getSubPaths()source protected

_getSubPaths( string $basePath )

Находит все пути к дочерним шаблонам, основанные на $basePath. Если в текущем запросе определён префикс, этот метод добавит префиксный путь шаблона к $basePath, наращивая префикс в случае вложенности. В основном используется для поиска префиксных путей шаблонов для элементов и макетов.

Параметры

строка $basePath
Базовый путь, для которого необходимо получить префиксный.

Возвращает

массив
Массив всех путей шаблонов.

_getViewFileName()source protected

_getViewFileName( string|null $name null )

Возвращает имя файла шаблона для данного действия (.ctp) в виде строки. Имена действий с использованием CamelCase будут преобразовываться в нижний регистр с символом подчеркивания по умолчанию. Это означает, что у вас могут быть имена действий LongActionNames, которые ссылаются на представления long_action_names.ctp. Вы можете изменить правило склонения, переопределив _inflectViewFileName.

Параметры

строка|null $name необязательный null
Действие контроллера для поиска имени файла шаблона

Возвращает

строка
Имя файла шаблона

Выбрасывает

Cake\View\Exception\MissingTemplateException
если файл представления не найден.

_inflectViewFileName()source protected

_inflectViewFileName( string $name )

Изменение имени файла шаблона представления на нижний регистр с символом подчеркивания.

Параметры

строка $name
Имя файла, которое должно быть склонено.

Возвращает

строка
Имя файла после преобразования

_paths()source protected

_paths( string|null $plugin null , boolean $cached true )

Возвращение всех возможных путей для поиска файлов представления в порядке.

Параметры

строка|null $plugin необязательный null
Необязательное имя плагина для сканирования файлов представления.
булево $cached необязательный true
Установить в false, чтобы принудительно обновить пути к представлениям. По умолчанию true.

Возвращает

массив
Пути

_render()source protected

_render( string $viewFile , array $data [] )

Рендеринг и возврат вывода для заданного файла шаблона с его массивом данных. Обработка родительских/расширенных шаблонов.

Параметры

строка $viewFile
Имя файла представления
массив $data необязательный []

Данные для включения в рендеринг представления. Если пустой, будет использован текущий View::$viewVars.

Возвращает

строка
Выходной рендеринг

Выбрасывает

LogicException
Когда блок оставлен открытым.

Вызывает

View.beforeRenderFile $this, [$viewFile]
View.afterRenderFile $this, [$viewFile, $content]

_renderElement()source protected

_renderElement( string $file , array $data , array $options )

Рендеринг элемента и вызов обратных вызовов before и afterRender для него, запись в кэш, если используется кэширование.

Параметры

строка $file
Путь к файлу элемента
массив $data
Данные для рендеринга
массив $options
Параметры элемента

Возвращает

строка

Вызывает

View.beforeRender $this, [$file]
View.afterRender $this, [$file, $element]
END_OF_DOCUMENT_MARKER

append()source public

append( string $name , mixed $value null )

Добавить в существующий или новый блок.

Добавление в новый блок создаст этот блок.

Параметры

строка $name
Имя блока
смешанный $value необязательно null

Содержимое блока. Значение будет приведено к типу строка.

См. также

\Cake\View\ViewBlock::concat()

assign()source public

assign( string $name , mixed $value )

Установить содержимое блока. Это перезапишет любое существующее содержимое.

Параметры

строка $name
Имя блока
смешанный $value

Содержимое блока. Значение будет приведено к типу строка.

См. также

\Cake\View\ViewBlock::set()

autoLayout()source public

autoLayout( boolean|null $autoLayout null )

Включает или выключает стандартный режим CakePHP для применения файлов шаблонов макета. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к рендеру шаблонов.

Устаревшее

3.5.0 Используйте isAutoLayoutEnabled()/enableAutoLayout() вместо этого.

Параметры

boolean|null $autoLayout необязательно null
Логическое значение для включения/отключения. Если null, возвращает текущее значение.

Возвращает

boolean|null

blocks()source public

blocks( )

Получить имена всех существующих блоков.

Возвращает

массив
Массив, содержащий блоки.

См. также

\Cake\View\ViewBlock::keys()

cache()source public

cache( callable $block , array $options [] )

Создать кэшированный блок логики представления.

Это позволяет кэшировать блок вывода представления в кэш, определённый в elementCache.

Этот метод сначала попытается прочитать кэш. Если кэш пуст, $block будет выполнен, и результат будет сохранён.

Параметры

вызываемый $block
Блок кода, вывод которого вы хотите кэшировать.
массив $options необязательно []
Параметры, определяющие ключ кэша и т. п.

Возвращает

строка
Выведенное содержимое.

Вызывает исключение

RuntimeException
Если в $options отсутствует опция 'key'.

element()source public

element( string $name , array $data [] , array $options [] )

Рендерит фрагмент PHP с заданными параметрами и возвращает HTML, XML или любую другую строку.

Реализует концепцию элементов (или «частичных макетов»), и массив $params используется для отправки данных, которые будут использоваться в элементе. Элементы могут быть кэшированы для повышения производительности с помощью опции cache.

Параметры

строка $name

Имя файла шаблона в папке /src/Template/Element/, или MyPlugin.template для использования элемента шаблона из MyPlugin. Если элемент не найден в плагине, будет выполнен поиск в стандартном пути представления.

массив $data необязательно []
Массив данных, которые будут доступны для рендерного представления (т. е. элемента)
массив $options необязательно []

Массив параметров. Возможные ключи: - cache - Может быть true, чтобы включить кэширование, используя конфигурацию в View::$elementCache. Или массив. Если массив, могут использоваться следующие ключи: - config - Используется для хранения кэшированного элемента в пользовательской конфигурации кэша. - key - Используется для определения ключа, используемого в Cache::write(). Будет префикс element_ - callbacks - Установите в true, чтобы запустить обработчики beforeRender и afterRender для этого элемента. По умолчанию false. - ignoreMissing - Используется для обработки отсутствующих элементов. Установите в true, чтобы не генерировать исключения. - plugin - Установка в false заставит использовать элемент приложения из шаблонов плагина, если плагин имеет элемент с тем же именем. По умолчанию true

Возвращает

строка
Рендер элемента

Вызывает исключение

Cake\View\Exception\MissingElementException

Если элемент отсутствует и ignoreMissing равно false.


elementExists()source public

elementExists( string $name )

Проверяет существование элемента

Параметры

строка $name

Имя файла шаблона в папке /src/Template/Element/, или MyPlugin.template для проверки элемента шаблона из MyPlugin. Если элемент не найден в плагине, будет выполнен поиск в стандартном пути представления.

Возвращает

boolean
Успех

enableAutoLayout()source public

enableAutoLayout( boolean $enable true )

Включает или выключает стандартный режим CakePHP для применения файлов шаблонов макета. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к рендеру представлений.

Параметры

boolean $enable необязательно true
Логическое значение для включения/отключения.

end()source public

end( )

Завершить захват блока. Дополнение к View::start()

См. также

\Cake\View\ViewBlock::end()

exists()source public

exists( string $name )

Проверить, существует ли блок

Параметры

строка $name
Имя блока

Возвращает

boolean

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( )

Получить текущий тип представления

Возвращает

строка

getLayout()source public

getLayout( )

Получить имя файла макета для рендеринга шаблона внутри него. Указанное имя - это имя файла макета в /src/Template/Layout без расширения .ctp.

Возвращает

строка

getLayoutPath()source public

getLayoutPath( )

Получить путь к файлам макета.

Возвращает

строка

getTemplate()source public

getTemplate( )

Получить имя файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/ без расширения .ctp.

Возвращает

string

getTemplatePath()source public

getTemplatePath( )

Получить путь к файлам шаблонов.

Возвращает

string

getTheme()source public

getTheme( )

Получить текущую тему представления.

Возвращает

string

getVars()source public

getVars( )

Возвращает список переменных, доступных в текущем контексте представления

Возвращает

array
Массив имён установленных переменных представления.

helpers()source public

helpers( )

Получить реестр помощников, используемый этим классом представления.

Возвращает

Cake\View\HelperRegistry

initialize()source public

initialize( )

Метод-обработчик инициализации.

Свойства, такие как $helpers и т.д., нельзя инициализировать статически в вашем пользовательском классе представления, так как они перезаписываются значениями из контроллера в конструкторе. Этот метод позволяет манипулировать ими по мере необходимости после создания экземпляра представления.

isAutoLayoutEnabled()source public

isAutoLayoutEnabled( )

Возвращает, включён ли стандартный режим CakePHP для применения файлов макета. Выключенный режим означает, что макеты не будут автоматически применяться к рендерным представлениям.

Возвращает

boolean

layout()source public

layout( string|null $name null )

Получить/установить имя файла макета для рендеринга шаблона внутри него. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.

Устарело

3.5.0 Используйте getLayout()/setLayout() вместо этого.

Параметры

string|null $name необязательно null
Имя файла макета для установки. Если null, возвращает текущее имя.

Возвращает

string|null

layoutPath()source public

layoutPath( string|null $path null )

Получить/установить путь к файлам макета.

Устарело

3.5.0 Используйте getLayoutPath()/setLayoutPath() вместо этого.

Параметры

string|null $path необязательно null
Путь к файлам макета. Если null, возвращает текущий путь.

Возвращает

string|null

loadHelper()source public

loadHelper( string $name , array $config [] )

Загружает помощника. Делегирует загрузку помощника методу HelperRegistry::load()

Параметры

строка $name
Имя помощника для загрузки.
массив $config необязательно []
Настройки для помощника

Возвращает

Cake\View\Helper
объект помощника.

См. также

\Cake\View\HelperRegistry::load()

loadHelpers()source public

loadHelpers( )

Взаимодействует с HelperRegistry для загрузки всех помощников.

pluginSplit()source public

pluginSplit( string $name , boolean $fallback true )

Разделяет имя плагина в формате точка на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет null. Проверяет, загружен ли плагин, в противном случае имя файла останется неизменным для имён файлов, содержащих точку

Параметры

строка $name
Имя плагина, которое нужно разделить.
логическое значение $fallback необязательно true
Если true, использует плагин, установленный в текущем запросе, когда анализируемый плагин не загружен

Возвращает

массив
Массив с 2 индексами. 0 => имя плагина, 1 => имя файла

prepend()source public

prepend( string $name , mixed $value )

Добавляет в начало существующего или нового блока.

Добавление в новый блок создаст блок.

Параметры

строка $name
Имя блока
смешанный тип $value

Содержимое блока. Значение будет преобразовано к строковому типу.

См. также

\Cake\View\ViewBlock::concat()

render()source public

render( string|false|null $view null , string|null $layout null )

Отображает представление для заданного шаблона и макета.

Отображение вызывает обратные вызовы помощников, которые срабатывают до и после отрисовки шаблона, а также до и после отрисовки макета. Обратные вызовы помощников вызываются:

  • beforeRender
  • afterRender
  • beforeLayout
  • afterLayout

Если View::$autoRender равен false и не указан $layout, шаблон будет возвращен в исходном виде.

Имена шаблонов и макетов могут указывать на шаблоны/макеты плагинов. Используя синтаксис Plugin.template, можно использовать шаблон/макет плагина вместо приложения. Если выбранный плагин не найден, шаблон будет найден по обычному пути к представлению.

Параметры

строка|ложь|null $view необязательно null
Имя файла представления для использования
строка|null $layout необязательно null
Используемый макет.

Возвращает

строка|null
Отображаемое содержимое или null, если содержимое уже отображено и возвращено ранее.

Выбрасывает

Cake\Core\Exception\Exception
Если возникла ошибка в представлении.

Вызывает

View.beforeRender $this, [$viewFileName]
View.afterRender $this, [$viewFileName]

renderLayout()source public

renderLayout( string $content , string|null $layout null )

Отображает макет. Возвращает результат из _render(). Возвращает false при ошибке. Для использования в макете создаются несколько переменных.

Параметры

строка $content
Содержимое для отображения в шаблоне, заключённое в окружающий макет.
строка|null $layout необязательно null
Имя макета

Возвращает

смешанный тип
Отображаемый результат или false при ошибке

Выбрасывает

Cake\Core\Exception\Exception
если возникла ошибка в представлении.

Вызывает

View.beforeLayout $this, [$layoutFileName]
View.afterLayout $this, [$layoutFileName]

reset()source public

reset( string $name )

Сбросить содержимое блока. Это перепишет любое существующее содержимое.

Параметры

строка $name
Имя блока

См. также

\Cake\View\ViewBlock::set()

setLayout()source public

setLayout( string $name )

Установить имя файла макета для отображения шаблона внутри него. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.

Параметры

строка $name
Имя файла макета для установки.

setLayoutPath()source public

setLayoutPath( string $path )

Установить путь к файлам макетов.

Параметры

строка $path
Путь к файлам макетов.
END_OF_DOCUMENT_MARKER

setTemplate()source public

setTemplate( string $name )

Установите имя файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/ без расширения .ctp.

Параметры

string $name
Имя файла шаблона для установки.

setTemplatePath()source public

setTemplatePath( string $path )

Установите путь к файлам шаблонов.

Параметры

string $path
Путь к файлам шаблонов.

setTheme()source public

setTheme( string $theme )

Установите тему представления для использования.

Параметры

string $theme
Имя темы.

start()source public

start( string $name )

Начать захват вывода для «блока»

Вы можете использовать start для блока несколько раз, чтобы добавлять или вставлять контент в режиме захвата.

// Append content to an existing block.
$this->start('content');
echo $this->fetch('content');
echo 'Some new content';
$this->end();

// Prepend content to an existing block
$this->start('content');
echo 'Some new content';
echo $this->fetch('content');
$this->end();

Параметры

string $name
Имя блока для захвата.

См. также

\Cake\View\ViewBlock::start()

template()source public

template( string|null $name null )

Получение/установка имени файла шаблона для рендеринга. Указанное имя — это имя файла в /src/Template/ без расширения .ctp.

Устарело

3.5.0 Используйте getTemplate()/setTemplate() вместо этого.

Параметры

string|null $name необязательно null
Имя файла шаблона для установки. Если null, возвращает текущее имя.

Возвращает

string|null

templatePath()source public

templatePath( string|null $path null )

Получение/установка пути к файлам шаблонов.

Устарело

3.5.0 Используйте getTemplatePath()/setTemplatePath() вместо этого.

Параметры

string|null $path необязательно null
Путь к файлам шаблонов. Если null, возвращает текущий путь.

Возвращает

string|null

theme()source public

theme( string|null $theme null )

Тема представления для использования.

Устарело

3.5.0 Используйте getTheme()/setTheme() вместо этого.

Параметры

string|null $theme необязательно null
Имя темы. Если null, возвращает текущую тему.

Возвращает

string|null

uuid()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 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\Event

eventManager()source public

eventManager( Cake\Event\EventManager $eventManager null )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или для создания собственных событий и их запуска.

Устарело

3.5.0 Используйте getEventManager()/setEventManager() вместо этого.

Параметры

Cake\Event\EventManager $eventManager необязательно null
менеджер eventManager для установки

Возвращает

Cake\Event\EventManager

getEventManager()source public

getEventManager( )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или для создания собственных событий и их запуска.

Возвращает

Cake\Event\EventManager

setEventManager()source public

setEventManager( Cake\Event\EventManager $eventManager )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или для создания собственных событий и их запуска.

Параметры

Cake\Event\EventManager $eventManager
менеджер eventManager для установки

Возвращает


$this

Методы, используемые из Cake\Log\LogTrait

log()source public

log( mixed $msg , integer|string $level LogLevel::ERROR , string|array $context [] )

Удобный метод для записи сообщения в журнал. См. Log::write() для получения дополнительной информации о записи в журналы.

Параметры

mixed $msg
Сообщение журнала.
integer|string $level необязательно LogLevel::ERROR
Уровень ошибки.
string|array $context необязательно []
Дополнительные данные журнала, относящиеся к этому сообщению.

Возвращает

boolean
Успех записи в журнал.

Методы, используемые из Cake\Routing\RequestActionTrait

requestAction()source public

requestAction( string|array $url , array $extra [] )

Вызывает метод контроллера из любой точки. Может использоваться для связи контроллеров или подключения плагинов к главному приложению. requestAction может использоваться для возврата рендеренных представлений или получения возвращаемого значения из действий контроллера.

Под капотом этот метод использует Router::reverse() для преобразования параметра $url в строковый URL. Вы должны использовать форматы URL, совместимые с Router::reverse()

Примеры

Базовый пример получения возвращаемого значения действия контроллера:

$variables = $this->requestAction('/articles/popular');

Базовый пример использования requestAction для получения рендеренной страницы без макета.

$viewHtml = $this->requestAction('/articles/popular', ['return']);

Вы также можете передать URL в виде массива:

$vars = $this->requestAction(['controller' => 'articles', 'action' => 'popular']);

Передача других данных запроса

Вы можете передать данные POST, GET, COOKIE и другие данные в запрос, используя соответствующие ключи. Куки могут быть переданы с помощью ключа cookies. Параметры GET могут быть установлены с помощью query, а данные POST могут быть отправлены с помощью ключа post.

$vars = $this->requestAction('/articles/popular', [
  'query' => ['page' => 1],
  'cookies' => ['remember_me' => 1],
]);

Отправка значений среды или заголовков

По умолчанию действия, запускаемые этим методом, будут использовать глобальные значения $_SERVER и $_ENV. Если вы хотите переопределить эти значения для действия запроса, вы можете указать значения:

$vars = $this->requestAction('/articles/popular', [
  'environment' => ['CONTENT_TYPE' => 'application/json']
]);

Передача сессии

По умолчанию действия, запускаемые этим методом, будут использовать стандартный объект сессии. Если вы хотите использовать определённую экземпляр сессии, вам нужно указать его.

$vars = $this->requestAction('/articles/popular', [
  'session' => new Session($someSessionConfig)
]);

Устаревшее

3.3.0 Следует переписать ваш код, используя View Cells вместо этого метода.

Параметры

строка|массив $url

URL в виде строки или массива. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные аргументы в параметре $url.

массив $extra необязательно []

Если массив включает ключ "return", он устанавливает autoRender в true. Также может быть использован для отправки данных GET/POST и передачи аргументов.

Возвращает

смешанное

Булево значение true или false при успехе/неудачи, или содержимое рендеренного действия, если в $extra задан ключ 'return'.


Методы, используемые из Cake\View\ViewVarsTrait

createView()source public

createView( string|null $viewClass null )

Создаёт экземпляр класса представления на основе текущей конфигурации.

Параметры

строка|null $viewClass необязательно null
Необязательное имя пространственно-именного класса представления для создания экземпляра.

Возвращает

Cake\View\View

Исключения

Cake\View\Exception\MissingViewException
Если класс представления не найден.

set()source public

set( string|array $name , mixed $value null )

Сохраняет переменную или ассоциативный массив переменных для использования внутри шаблона.

Параметры

строка|массив $name
Строка или массив данных.
смешанное $value необязательно null

Значение в случае, если $name является строкой (в этом случае она служит ключом). Не используется, если $name является ассоциативным массивом, в противном случае служит значениями для ключей $name.

Возвращает


$this

viewBuilder()source public

viewBuilder( )

Получить используемый билдер представлений.

Возвращает

Cake\View\ViewBuilder

viewOptions()source public

viewOptions( string|array|null $options null , boolean $merge true )

Получить/установить допустимые параметры представления в свойстве объекта _validViewOptions. Свойство создаётся как пустой массив, если оно не установлено. Если вызывается без параметров, возвращает текущий список допустимых параметров представления. См. createView().

Параметры

строка|массив|null $options необязательно null
строка или массив строк, которые нужно добавить в _validViewOptions.
булево $merge необязательно true

Объединить с существующими или переопределить существующие допустимые параметры представления. По умолчанию true.

Возвращает

массив
Обновлённые параметры представления в виде массива.

Магические методы, унаследованные от Cake\Event\EventDispatcherInterface

getEventManager()

Подробное описание свойств

$Blockssource

public Cake\View\ViewBlock

Экземпляр ViewBlock.

$_currentsource

protected строка

Файл представления, который в настоящее время рендерится. Используется для разрешения родительских файлов.

$_currentTypesource

protected строка

В настоящее время рендерится элемент. Используется для поиска родительских фрагментов для элементов.

''

$_extsource

protected строка

Расширение файла. По умолчанию шаблоны CakePHP имеют расширение ".ctp".

'.ctp'

$_helperssource

protected Cake\View\HelperRegistry

Коллекция помощников.

$_parentssource

protected массив

Имена представлений и их родителей, используемых с View::extend();

[]

$_passedVarssource

protected массив

Список переменных для сбора от связанного контроллера.

[
    'viewVars', 'autoLayout', 'helpers', 'template', 'layout', 'name', 'theme',
    'layoutPath', 'templatePath', 'plugin', 'passedArgs'
]

$_pathssource

protected массив

Содержит массив путей.

[]

$_pathsForPluginsource

protected массив

Содержит массив путей плагинов.

[]

$_stacksource

protected массив

Стек содержимого, используемый для вложенных шаблонов, которые все используют View::extend();

[]

$autoLayoutsource

public булево

Включает или отключает традиционный режим CakePHP по применению файлов макета. Включён по умолчанию. Отключение означает, что макеты не будут автоматически применяться к рендеренным шаблонам.

true

$elementCachesource

public строка

Конфигурация кэша, которую View будет использовать для хранения кэшированных элементов. Изменение этого значения изменит стандартную конфигурацию, под которой хранятся элементы. Вы также можете выбрать конфигурацию кэша для каждого элемента.

См. также

\Cake\View\View::element()
'default'

$hasRenderedsource

public булево

Истина, когда представление было рендерировано.

false
END_OF_DOCUMENT_MARKER

$helperssource

public массив

Массив имён встроенных помощников для включения.

[]

$layoutsource

public строка

Имя файла макета для рендеринга шаблона внутри. Указанное имя — имя файла макета в /src/Template/Layout без расширения .ctp.

'default'

$layoutPathsource

public строка

Имя подпапки макетов, содержащей макеты для этого представления.

$namesource

public строка

Имя контроллера, который создал представление, если таковое имеется.

$passedArgssource

public массив

Текущие переданные параметры. Передаются в представление из создающего контроллера для удобства.

Устарело

3.1.0 Используйте $this->request->getParam('pass') вместо этого.
[]

$pluginsource

public строка

Имя плагина.

$requestsource

public Cake\Http\ServerRequest

Экземпляр объекта \Cake\Http\ServerRequest, содержащий информацию о текущем запросе. Этот объект содержит всю информацию о запросе и несколько методов для чтения дополнительной информации о запросе.

$responsesource

public Cake\Http\Response

Ссылка на объект Response

$subDirsource

public строка

Поддиректория для этого файла шаблона. Часто используется для маршрутизации на основе расширений. Например, с расширением xml, $subDir будет xml/

$templatesource

public строка

Имя файла шаблона для рендеринга. Указанное имя — имя файла в /src/Template/ без расширения .ctp.

$templatePathsource

public строка

Имя подпапки, содержащей шаблоны для этого представления.

$themesource

public строка

Тема представления для использования.

$uuidssource

public массив

Список сгенерированных UUID DOM.

[]

Подробное описание магических свойств

$Blockssource

public Cake\View\ViewBlock

$Flashsource

public Cake\View\Helper\FlashHelper

$Formsource

public Cake\View\Helper\FormHelper

$Htmlsource

public Cake\View\Helper\HtmlHelper

$Numbersource

public Cake\View\Helper\NumberHelper

$Paginatorsource

public Cake\View\Helper\PaginatorHelper

$Rsssource

public Cake\View\Helper\RssHelper

$Sessionsource

public Cake\View\Helper\SessionHelper

$Textsource

public Cake\View\Helper\TextHelper

$Timesource

public Cake\View\Helper\TimeHelper

$Urlsource

public Cake\View\Helper\UrlHelper

$viewsource

public строка

$viewPathsource

public строка

© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.4/class-Cake.View.View.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API