Класс JsonView
Класс представления, используемый для ответов в формате JSON.
Позволяет опустить шаблоны, если вам нужно только вывести строку JSON в качестве ответа.
В вашем контроллере вы можете сделать следующее:
$this->set(['posts' => $posts]);
$this->set('_serialize', true); При отрисовке представления переменная представления $posts будет сериализована в JSON.
Вы также можете установить несколько переменных представления для сериализации. Это создаст объект верхнего уровня, содержащий все именованные переменные представления:
$this->set(compact('posts', 'users', 'stuff'));
$this->set('_serialize', true); Вышеприведенное сгенерирует объект JSON, который выглядит следующим образом:
{"posts": [...], "users": [...]}
Вы также можете установить '_serialize' в строку или массив, чтобы сериализовать только указанные переменные представления.
Если вы не используете _serialize, вам потребуется шаблон представления. Вы можете использовать расширенные представления для обеспечения функциональности, подобной макету.
Вы также можете включить поддержку JSONP, установив параметр _jsonp в значение true или строку, чтобы указать имя пользовательского параметра строки запроса, который будет содержать имя функции обратного вызова.
- Cake\View\View реализует Cake\Event\EventDispatcherInterface использует Cake\View\CellTrait , Cake\Event\EventDispatcherTrait , Cake\Log\LogTrait , Cake\Routing\RequestActionTrait , Cake\View\ViewVarsTrait
-
Cake\View\SerializedView
-
Cake\View\JsonView
Наследуемые константы
Резюме свойств
-
$_responseTypeprotectedТип ответа.string -
$_specialVarsprotectedСписок специальных переменных представления.array -
$layoutPathprotectedJSON-макеты находятся в подкаталоге json каталогаstringLayouts/ -
$subDirprotectedJSON-представления находятся в подкаталоге 'json' для представлений контроллеров.string
Наследуемые магические свойства
-
Blocks,Breadcrumbs,Flash,Form,Html,Number,Paginator,Rss,Session,Text,Time,Url,view,viewPath_validViewOptions
Наследуемые свойства
-
Blocks,_current,_currentType,_ext,_helpers,_parents,_passedVars,_paths,_pathsForPlugin,_stack,_viewBlockClass,autoLayout,elementCache,hasRendered,helpers,layout,name,passedArgs,plugin,request,response,template,templatePath,theme,uuids_eventClass,_eventManager_viewBuilder,viewClass,viewVars
Резюме методов
- _dataToSerialize() protectedВозвращает данные для сериализации.
- _serialize() protectedСериализация переменных представления
- render() publicОтрисовка представления JSON.
Подробное описание методов
_dataToSerialize()source protected
_dataToSerialize( array|string|boolean $serialize = true )
Возвращает данные для сериализации.
Параметры
- массив|строка|булево
$serializeнеобязательно true Имя(а) переменной(ых) представления, которые необходимо(ы) сериализовать. Если true, будут использоваться все доступные переменные представления.
Возвращает
смешанноеДанные для сериализации.
_serialize()source protected
_serialize( array|string|boolean $serialize )
Сериализация переменных представления
Специальные параметры
_jsonOptions Вы можете установить пользовательские параметры для json_encode() таким образом, например, JSON_HEX_TAG | JSON_HEX_APOS.
Параметры
- массив|строка|булево
$serialize Имя(а) переменной(ых) представления, которые необходимо(ы) сериализовать. Если true, будут использоваться все доступные переменные.
Возвращает
строка|ложьСериализованные данные или boolean false, если данные не могут быть сериализованы.
render()source public
render( string|null $view = null , string|null $layout = null )
Отрисовка представления JSON.
Специальные параметры
_serialize Для преобразования набора переменных представления в JSON-ответ. Его значение может быть строкой для имени одной переменной или массивом для нескольких имен. Если true, все переменные представления будут сериализованы. При установке в true, нормальный шаблон представления будет игнорироваться. _jsonp Включает поддержку JSONP и оборачивает ответ в функцию обратного вызова, предоставленную в строке запроса. - Установка в значение true включает использование параметра строки запроса "callback". - Установка в строковое значение использует предоставленный параметр строки запроса для поиска имени обратного вызова JSONP.
Параметры
- строка|null
$viewнеобязательно null - Отображаемое представление.
- строка|null
$layoutнеобязательно null - Отображаемый макет.
Возвращает
строка|nullОтображаемое представление.
Выбрасывает
Cake\Core\Exception\ExceptionВ случае ошибки в представлении.
Переопределяет
Cake\View\SerializedView::render() Методы, унаследованные от Cake\View\SerializedView
__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 - Экземпляр EventManager.
- массив
$viewOptionsнеобязательно [] - Массив опций представления
Переопределяет
Cake\View\View::__construct() loadHelpers()source public
loadHelpers( )
Загрузка хелперов только если сериализация отключена.
Переопределяет
Cake\View\View::loadHelpers() Методы, унаследованные от Cake\View\View
__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). Имена действий с заглавными буквами по умолчанию преобразуются в нижний регистр с подчеркиванием. Это означает, что вы можете использовать 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 Содержимое блока. Значение будет приведено к строковому типу.
Возвращает
$this
См. также
\Cake\View\ViewBlock::concat()assign()source public
assign( string $name , mixed $value )
Устанавливает содержимое блока. Это перезапишет любое существующее содержимое.
Параметры
- строка
$name - Имя блока
- смешанный
$value Содержимое блока. Значение будет приведено к строковому типу.
Возвращает
$this
См. также
\Cake\View\ViewBlock::set()autoLayout()source public устарело
autoLayout( boolean|null $autoLayout = null )
Включает или выключает стандартный режим CakePHP применения файлов макета. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к визуализируемым шаблонам.
Устарело
3.5.0 Используйте isAutoLayoutEnabled()/enableAutoLayout() вместо этого.Параметры
- логическое значение|null
$autoLayoutнеобязательно null - Логическое значение для включения/выключения. Если null, возвращает текущее значение.
Возвращает
логическое значение|nullblocks()source public
blocks( )
Получает имена всех существующих блоков.
Возвращает
массивМассив, содержащий блоки.
См. также
\Cake\View\ViewBlock::keys()cache()source public
cache( callable $block , array $options = [] )
Создает кэшированный блок логики представления.
Это позволяет кэшировать блок вывода представления в кеш, определенном в elementCache.
Этот метод сначала попытается прочитать кеш. Если кеш пуст, $block будет выполнен, и вывод будет сохранен.
Параметры
- вызываемый объект
$block - Блок кода, для которого необходимо кэшировать вывод.
- массив
$optionsнеобязательно [] - Опции, определяющие ключ кеша и т.д.
Возвращает
строкаВизуализированное содержимое.
Вызывает исключение
RuntimeExceptionКогда в $options отсутствует опция 'key'.
disableAutoLayout()source public
disableAutoLayout( )
Отключает стандартный режим CakePHP по применению файлов шаблонов разметки.
Шаблоны разметки больше не будут автоматически применяться к отображаемым представлениям.
Возвращает
$this
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. Если элемент не найден в плагине, будет произведён поиск в стандартном пути к представлениям.
Возвращает
логическое значениеУспешно
enableAutoLayout()source public
enableAutoLayout( boolean $enable = true )
Включает или выключает стандартный режим CakePHP по применению файлов шаблонов разметки. По умолчанию включено. Выключение означает, что шаблоны разметки больше не будут автоматически применяться к отображаемым представлениям.
Параметры
- логическое значение
$enableнеобязательно true - Логическое значение для включения/выключения.
Возвращает
$this
end()source public
end( )
Завершение блока захвата. Соответствие методу View::start()
Возвращает
$this
См. также
\Cake\View\ViewBlock::end()exists()source public
exists( string $name )
Проверка существования блока.
Параметры
- строка
$name - Имя блока
Возвращает
логическое значениеextend()source public
extend( string $name )
Обеспечивает расширение/наследование шаблонов или элементов. Представления могут расширять родительское представление и заполнять блоки в родительском шаблоне.
Параметры
- строка
$name - Шаблон или элемент, с которым необходимо «расширить» текущий.
Возвращает
$this
Вызывает исключение
LogicExceptionпри расширении шаблона самим собой или создании циклов расширения.
LogicException
при расширении элемента, которого нет
fetch()source public
fetch( string $name , string $default = '' )
Извлечение содержимого блока. Если блок пуст или не определён, возвращается «».
Параметры
- строка
$name - Имя блока
- строка
$defaultнеобязательно '' - Текстовое значение по умолчанию
Возвращает
строкаСодержимое блока или значение $default, если блок не существует.
См. также
\Cake\View\ViewBlock::get()get()source public
get( string $var , mixed $default = null )
Возвращает содержимое заданной переменной представления.
Параметры
- строка
$var - Переменная представления, содержимое которой требуется.
- смешанный тип
$defaultнеобязательно null - Значение по умолчанию/резервное содержимое переменной $var.
Возвращает
смешанный типСодержимое указанной переменной, если она задана, в противном случае - $default.
getCurrentType()source public
getCurrentType( )
Получение текущего типа представления.
Возвращает
строкаgetLayout()source public
getLayout( )
Получение имени файла шаблона разметки для отображения шаблона. Указанное имя — это имя файла макета в /src/Template/Layout без расширения .ctp.
Возвращает
строкаgetLayoutPath()source public
getLayoutPath( )
Получение пути к файлам шаблонов разметки.
Возвращает
строкаgetName()source public
getName( )
Возвращает имя контроллера представления.
Возвращает
строка|nullС версии
3.7.7getRequest()source public
getRequest( )
Получение экземпляра запроса.
Возвращает
Cake\Http\ServerRequestС версии
3.7.0getResponse()source public
getResponse( )
Получение экземпляра ответа.
Возвращает
Cake\Http\ResponseС версии
3.7.0getSubDir()source public
getSubDir( )
Получение подкаталога для файлов шаблонов.
Возвращает
строкаСм. также
\Cake\View\View::$subDirС версии
3.7.0getTemplate()source public
getTemplate( )
Получение имени файла шаблона для отображения. Указанное имя — это имя файла в /src/Template/<подкаталог> без расширения .ctp.
Возвращает
строкаgetTemplatePath()source public
getTemplatePath( )
Получение пути к файлам шаблонов.
Возвращает
строкаgetVars()source public
getVars( )
Возвращает список переменных, доступных в текущем контексте представления.
Возвращает
string[]Массив имён установленных переменных представления.
helpers()source public
helpers( )
Получить используемый реестр помощников для этого класса представления.
Возвращает
Cake\View\HelperRegistryinitialize()source public
initialize( )
Метод инициализации.
Свойства, такие как $helpers и т.д., не могут быть инициализированы статически в вашем пользовательском классе представления, так как они перезаписываются значениями из контроллера в конструкторе. Поэтому этот метод позволяет манипулировать ими по мере необходимости после создания экземпляра представления.
isAutoLayoutEnabled()source public
isAutoLayoutEnabled( )
Возвращает, включён ли традиционный режим CakePHP для применения файлов макета. Выключено означает, что макеты не будут автоматически применяться к рендереным представлениям.
Возвращает
booleanlayout()source public deprecated
layout( string|null $name = null )
Получить/установить имя файла макета для рендеринга шаблона внутри него. Указанное имя — имя файла макета в /src/Template/Layout без расширения .ctp.
Устарело
3.5.0 Используйте getLayout()/setLayout() вместо этого.Параметры
- string|null
$nameoptional null - Имя файла макета для установки. Если null, возвращает текущее имя.
Возвращает
string|nulllayoutPath()source public deprecated
layoutPath( string|null $path = null )
Получить/установить путь к файлам макета.
Устарело
3.5.0 Используйте getLayoutPath()/setLayoutPath() вместо этого.Параметры
- string|null
$pathoptional null - Путь к файлам макета. Если null, возвращает текущий путь.
Возвращает
string|nullloadHelper()source public
loadHelper( string $name , array $config = [] )
Загружает помощника. Делегирует HelperRegistry::load() для загрузки помощника.
Параметры
- string
$name - Имя помощника для загрузки.
- array
$configoptional [] - Настройки для помощника
Возвращает
Cake\View\Helperобъект помощника.
См. также
\Cake\View\HelperRegistry::load()pluginSplit()source public
pluginSplit( string $name , boolean $fallback = true )
Разделяет имя плагина с использованием синтаксиса точки на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет null. Проверяет, загружен ли плагин, иначе имя файла останется неизменным для имён файлов, содержащих точку
Параметры
- string
$name - Имя плагина, которое требуется разделить.
- boolean
$fallbackoptional true - Если true, использует плагин, установленный в текущем запросе, когда загруженный плагин не найден
Возвращает
arrayМассив с 2 индексами. 0 => имя плагина, 1 => имя файла
prepend()source public
prepend( string $name , mixed $value )
Добавить в начало существующего или нового блока.
Добавление в начало нового блока создаст этот блок.
Параметры
- string
$name - Имя блока
- mixed
$value Содержимое блока. Значение будет приведено к строковому типу.
Возвращает
$this
См. также
\Cake\View\ViewBlock::concat()renderLayout()source public
renderLayout( string $content , string|null $layout = null )
Отображает макет. Возвращает вывод из _render(). Возвращает false при ошибке. Несколько переменных создаются для использования в макете.
Параметры
- string
$content - Содержимое для рендеринга в шаблоне, заключённом в окружающий макет.
- string|null
$layoutoptional null - Имя макета
Возвращает
mixedОтрендеренный вывод или false при ошибке
Исключения
Cake\Core\Exception\Exceptionв случае ошибки в представлении.
Вызывает
View.beforeLayout $this, [$layoutFileName]View.afterLayout $this, [$layoutFileName]
reset()source public
reset( string $name )
Сбросить содержимое блока. Это перезапишет любое существующее содержимое.
Параметры
- string
$name - Имя блока
Возвращает
$this
См. также
\Cake\View\ViewBlock::set()setElementCache()source public
setElementCache( string $elementCache )
Установить конфигурацию кэша, которую представление будет использовать для хранения кэшированных элементов.
Параметры
- string
$elementCache - Имя конфигурации кэша.
Возвращает
$this
См. также
\Cake\View\View::$elementCacheС версии
3.7.0setLayout()source public
setLayout( string $name )
Установить имя файла макета для рендеринга шаблона внутри него. Указанное имя — имя файла макета в /src/Template/Layout без расширения .ctp.
Параметры
- string
$name - Имя файла макета для установки.
Возвращает
$this
setLayoutPath()source public
setLayoutPath( string $path )
Установить путь к файлам макета.
Параметры
- string
$path - Путь к файлам макета.
Возвращает
$this
setPlugin()source public
setPlugin( string $name )
Устанавливает имя плагина.
Параметры
- string
$name - Имя плагина.
Возвращает
$this
С версии
3.7.0setRequest()source public
setRequest( Cake\Http\ServerRequest $request )
Устанавливает объекты запроса и настраивает ряд свойств контроллера на основе содержимого запроса. Свойства, которые устанавливаются:
- $this->request - В $request параметр
- $this->plugin - В значение, возвращаемое $request->getParam('plugin')
- $this->passedArgs - Также как $request->params['pass]
Параметры
-
Cake\Http\ServerRequest$request - Экземпляр запроса.
Возвращает
$this
С версии
3.7.0setResponse()source public
setResponse( Cake\Http\Response $response )
Устанавливает экземпляр ответа.
Параметры
-
Cake\Http\Response$response - Экземпляр ответа.
Возвращает
$this
С версии
3.7.0setSubDir()source public
setSubDir( string $subDir )
Установить подкаталог для файлов шаблонов.
Параметры
- string
$subDir - Имя подкаталога.
Возвращает
$this
См. также
\Cake\View\View::$subDirС версии
3.7.0setTemplate()source public
setTemplate( string $name )
Установить имя файла шаблона для отображения. Указанное имя — это имя файла в /src/Template/
Параметры
- string
$name - Имя файла шаблона для установки.
Возвращает
$this
setTemplatePath()source public
setTemplatePath( string $path )
Установить путь к файлам шаблонов.
Параметры
- string
$path - Путь к файлам шаблонов.
Возвращает
$this
setTheme()source public
setTheme( string|null $theme )
Установить тему представления, которую нужно использовать.
Параметры
- string|null
$theme - Имя темы.
Возвращает
$this
start()source public
start( string $name )
Начать захват вывода для "блока".
Вы можете использовать start несколько раз для добавления или вставки содержимого в режиме захвата.
// Append content to an existing block.
$this->start('content');
echo $this->fetch('content');
echo 'Some new content';
$this->end();
// Prepend content to an existing block
$this->start('content');
echo 'Some new content';
echo $this->fetch('content');
$this->end(); Параметры
- string
$name - Имя блока для захвата.
Возвращает
$this
См. также
\Cake\View\ViewBlock::start()template()source public deprecated
template( string|null $name = null )
Получить/установить имя файла шаблона для отображения. Указанное имя — это имя файла в /src/Template/
Устаревшее
3.5.0 Используйте getTemplate()/setTemplate() вместо этого.Параметры
- string|null
$nameнеобязательно null - Имя файла шаблона для установки. Если null, возвращает текущее имя.
Возвращает
string|nulltemplatePath()source public deprecated
templatePath( string|null $path = null )
Получить/установить путь к файлам шаблонов.
Устаревшее
3.5.0 Используйте getTemplatePath()/setTemplatePath() вместо этого.Параметры
- string|null
$pathнеобязательно null - Путь к файлам шаблонов. Если null, возвращает текущий путь.
Возвращает
string|nulltheme()source public deprecated
theme( string|null $theme = null )
Тема представления для использования.
Устаревшее
3.5.0 Используйте getTheme()/setTheme() вместо этого.Параметры
- string|null
$themeнеобязательно null - Имя темы. Если null, возвращает текущую тему.
Возвращает
string|nulluuid()source public deprecated
uuid( string $object , string $url )
Генерирует уникальный, не случайный идентификатор DOM для объекта на основе типа объекта и целевого URL.
Устаревшее
3.7.0 Этот метод устарел и будет удален в 4.0.0.Параметры
- string
$object - Тип объекта, например, 'форма' или 'ссылка'
- string
$url - Целевой URL объекта
Возвращает
stringМетоды, используемые из Cake\View\CellTrait
_createCell()source protected
_createCell( string $className , string $action , string $plugin , array $options )
Создать и настроить экземпляр ячейки.
Параметры
- string
$className - Класс ячейки.
- string
$action - Имя действия.
- string
$plugin - Имя плагина.
- array
$options - Параметры конструктора ячейки.
Возвращает
Cake\View\Cellcell()source protected
cell( string $cell , array $data = [] , array $options = [] )
Отображает заданную ячейку.
Пример:
// Taxonomy\View\Cell\TagCloudCell::smallList()
$cell = $this->cell('Taxonomy.TagCloud::smallList', ['limit' => 10]);
// App\View\Cell\TagCloudCell::smallList()
$cell = $this->cell('TagCloud::smallList', ['limit' => 10]); Действие display будет использоваться по умолчанию, если действие не указано:
// Taxonomy\View\Cell\TagCloudCell::display()
$cell = $this->cell('Taxonomy.TagCloud'); Ячейки не отображаются, пока они не будут выведены.
Параметры
- string
$cell Вы должны указать имя ячейки и, необязательно, действие ячейки. Например:
TagCloud::smallListвызоветView\Cell\TagCloudCell::smallList(), действиеdisplayбудет вызываться по умолчанию, если оно не указано.- array
$dataнеобязательно [] Дополнительные аргументы для метода ячейки. Например:
cell('TagCloud::smallList', ['a1' => 'v1', 'a2' => 'v2'])соответствуетView\Cell\TagCloud::smallList(v1, v2)- array
$optionsнеобязательно [] - Параметры для конструктора ячейки
Возвращает
Cake\View\CellЭкземпляр ячейки
Выбрасывает
Cake\View\Exception\MissingCellExceptionЕсли класс ячейки не найден.
BadMethodCallException
Если класс ячейки не указал действие ячейки.
Методы, используемые из Cake\Event\EventDispatcherTrait
dispatchEvent()source public
dispatchEvent( string $name , array|null $data = null , object|null $subject = null )
Обёртка для создания и отправки событий.
Возвращает отправленное событие.
Параметры
- string
$name - Имя события.
- array|null
$dataнеобязательно null Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.
- object|null
$subjectнеобязательно null Объект, к которому относится это событие ($this по умолчанию).
Возвращает
Cake\Event\EventeventManager()source public deprecated
eventManager( Cake\Event\EventManager $eventManager = null )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или создавать собственные события и вызывать их по своему желанию.
Устаревшее
3.5.0 Используйте getEventManager()/setEventManager() вместо этого.Параметры
-
Cake\Event\EventManager$eventManagerнеобязательно null - eventManager для установки
Возвращает
Cake\Event\EventManagergetEventManager()source public
getEventManager( )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или создавать собственные события и вызывать их по своему желанию.
Возвращает
Cake\Event\EventManagersetEventManager()source public
setEventManager( Cake\Event\EventManager $eventManager )
Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.
Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий объекта, или создавать собственные события и вызывать их по своему желанию.
Параметры
-
Cake\Event\EventManager$eventManager - eventManager для установки
Возвращает
$this
Методы, используемые из Cake\Log\LogTrait
log()source public
log( mixed $msg , integer|string $level = LogLevel::ERROR , string|array $context = [] )
Удобный метод для записи сообщения в журнал. Дополнительную информацию о записи в журналы см. в Log::write().
Параметры
- mixed
$msg - Сообщение журнала.
- integer|string
$leveloptional LogLevel::ERROR - Уровень ошибки.
- string|array
$contextoptional [] - Дополнительные данные журнала, относящиеся к этому сообщению.
Возвращает
booleanУспешность записи в журнал.
Методы, используемые из Cake\Routing\RequestActionTrait
requestAction()source public deprecated
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)
]); Устаревшее
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 - Необязательное имя пространства имен класса View для создания экземпляра.
Возвращает
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 deprecated
viewOptions( string|array|null $options = null , boolean $merge = true )
Получение/установка допустимых опций представления в свойстве объекта _validViewOptions. Свойство создается как пустой массив, если оно не задано. Если вызов происходит без параметров, он вернет текущий список допустимых опций представления. См. createView().
Устаревшее
3.7.0 Используйте ViewBuilder::setOptions() или любой из его методов-сеттеров вместо этого.Параметры
- string|array|null
$optionsoptional null - строка или массив строк, которые должны быть добавлены к _validViewOptions.
- boolean
$mergeoptional true Следует ли сливать или перезаписывать существующие допустимые параметры представления. По умолчанию
true.
Возвращает
arrayОбновленные опции представления в виде массива.
Магические методы, унаследованные от Cake\Event\EventDispatcherInterface
getEventManager() |
Подробности свойств
$_specialVarssource
protected array
Список специальных переменных представления.
['_serialize', '_jsonOptions', '_jsonp']
$subDirsource
protected string
JSON представления расположены в подкаталоге 'json' для представлений контроллеров.
'json'
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.7/class-Cake.View.JsonView.html