Класс 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 )
Возвращает данные для сериализации.
Параметры
- array|string|boolean
$serializeoptional true Имя(а) переменной(ых) представления, которая(ые) необходимо(ы) сериализовать. Если true, будут использованы все доступные переменные представления.
Возвращает
mixedДанные для сериализации.
_serialize()source protected
_serialize( array|string|boolean $serialize )
Сериализует переменные представления
Особые параметры
_jsonOptions Вы можете установить пользовательские параметры для json_encode() таким образом, например, JSON_HEX_TAG | JSON_HEX_APOS.
Параметры
- array|string|boolean
$serialize Имя(а) переменной(ых) представления, которая(ые) необходимо(ы) сериализовать. Если true, все доступные переменные представления.
Возвращает
string|falseСериализованные данные или boolean false, если сериализация невозможна.
render()source public
render( string|null $view = null , string|null $layout = null )
Отображает представление JSON.
Особые параметры
_serialize Для преобразования набора переменных представления в JSON-ответ. Его значение может быть строкой для имени одной переменной или массивом для нескольких имен. Если true, все переменные представления будут сериализованы. Если unset, будет отображено обычное шаблонное представление. _jsonp Включает поддержку JSONP и оборачивает ответ в функцию обратного вызова, указанную в строке запроса. - Установка в true включает параметр строки запроса по умолчанию "callback". - Установка значения в строку использует указанный параметр строки запроса для поиска имени обратного вызова JSONP.
Параметры
- string|null
$viewoptional null - Отображаемое представление.
- string|null
$layoutoptional null - Отображаемый макет.
Возвращает
string|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$requestoptional null - Экземпляр запроса.
-
Cake\Http\Response$responseoptional null - Экземпляр ответа.
-
Cake\Event\EventManager$eventManageroptional null - Экземпляр EventManager.
- array
$viewOptionsoptional [] - Массив параметров представления
Переопределяет
Cake\View\View::__construct() loadHelpers()source public
loadHelpers( )
Загрузить помощников только если сериализация отключена.
Переопределяет
Cake\View\View::loadHelpers() Наследованные методы из Cake\View\View
__get()source public
__get( string $name )
Магический доступ к помощникам.
Параметры
- string
$name - Имя атрибута для получения.
Возвращает
mixed__set()source public
__set( string $name , mixed $value )
Магический установщик для устаревших свойств.
Параметры
- string
$name - Имя свойства.
- mixed
$value - Значение свойства.
_checkFilePath()source protected
_checkFilePath( string $file , string $path )
Проверка пути к файлу представления на выход за пределы определенных путей шаблонов.
Будут проверены только пути, содержащие .., так как они наиболее склонны к разрешению в файлы за пределами путей шаблонов.
Параметры
- string
$file - Путь к файлу шаблона.
- string
$path - Базовый путь, внутри которого должен находиться $file.
Возвращает
stringПуть к файлу
Исключения
InvalidArgumentException_elementCache()source protected
_elementCache( string $name , array $data , array $options )
Генерирует конфигурацию кеширования для элемента.
Параметры
- строка
$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) в виде строки. CamelCased имена действий по умолчанию преобразуются в нижний регистр с _ . Это означает, что вы можете использовать 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 Содержимое блока. Значение будет приведено к строке.
Возвращает
$this
См. также
\Cake\View\ViewBlock::concat()assign()source public
assign( string $name , mixed $value )
Установить содержимое блока. Это перезапишет любое существующее содержимое.
Параметры
- строка
$name - Имя блока
- смешанный
$value Содержимое блока. Значение будет приведено к строке.
Возвращает
$this
См. также
\Cake\View\ViewBlock::set()autoLayout()source public deprecated
autoLayout( boolean|null $autoLayout = null )
Включает или выключает стандартный режим CakePHP для применения файлов макета. Включено по умолчанию. Отключение означает, что макеты не будут автоматически применяться к рендеренным шаблонам.
Устарело
3.5.0 Используйте isAutoLayoutEnabled()/enableAutoLayout() вместо этого.Параметры
- логическое|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, чтобы вызвать обратные вызовы helper beforeRender и afterRender для этого элемента. По умолчанию false. -ignoreMissing- Используется для разрешения отсутствия элементов. Установите в значение true, чтобы не выбрасывать исключений. -plugin- Установка в значение false принудительно использует элемент приложения из шаблонов плагина, когда плагин имеет элемент с тем же именем. По умолчанию true
Возвращает
строкаОтображенный элемент
Выбрасывает
Cake\View\Exception\MissingElementExceptionКогда элемент отсутствует и ignoreMissing имеет значение false.
elementExists()source public
elementExists( string $name )
Проверяет существование элемента.
Параметры
- строка
$name Имя файла шаблона в папке /src/Template/Element/ или
MyPlugin.templateдля проверки шаблона элемента из MyPlugin. Если элемент не найден в плагине, будет произведён поиск по стандартному пути представления.
Возвращает
булевоУспех
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.
Возвращает
строка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/
Возвращает
строка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
$nameнеобязательный null - Имя файла макета для установки. Если null, возвращает текущее имя.
Возвращает
string|nulllayoutPath()source public deprecated
layoutPath( string|null $path = null )
Получить/установить путь к файлам макета.
Устарело
3.5.0 Используйте getLayoutPath()/setLayoutPath() вместо этого.Параметры
- string|null
$pathнеобязательный null - Путь к файлам макета. Если null, возвращает текущий путь.
Возвращает
string|nullloadHelper()source public
loadHelper( string $name , array $config = [] )
Загружает помощник. Делегирует загрузку помощника классу HelperRegistry::load().
Параметры
- string
$name - Имя помощника для загрузки.
- array
$configнеобязательный [] - Настройки для помощника
Возвращает
Cake\View\Helperобъект помощника.
См. также
\Cake\View\HelperRegistry::load()pluginSplit()source public
pluginSplit( string $name , boolean $fallback = true )
Разделяет имя плагина в формате точка на имя плагина и имя файла. Если $name не содержит точки, то индекс 0 будет null. Проверяет, загружен ли плагин, иначе имя файла останется неизменным для имён файлов, содержащих точку.
Параметры
- string
$name - Имя плагина для разделения.
- boolean
$fallbackнеобязательный true - Если true, использует плагин, установленный в текущем запросе, когда загруженный плагин не найден.
Возвращает
arrayМассив с 2 индексами. 0 => имя плагина, 1 => имя файла
prepend()source public
prepend( string $name , mixed $value )
Добавляет в начало существующего или нового блока.
Добавление в начало нового блока создаст этот блок.
Параметры
- string
$name - Имя блока
- mixed
$value Содержимое блока. Значение будет преобразовано в строку.
Возвращает
$this
См. также
\Cake\View\ViewBlock::concat()renderLayout()source public
renderLayout( string $content , string|null $layout = null )
Рендерит макет. Возвращает вывод из _render(). Возвращает false при ошибке. Несколько переменных создаются для использования в макете.
Параметры
- string
$content - Содержимое для рендеринга в шаблоне, обернутом окружающим макетом.
- string|null
$layoutнеобязательный null - Имя макета
Возвращает
mixedРезультат рендеринга или false при ошибке
Выбрасывает
Cake\Core\Exception\Exceptionесли в представлении произошла ошибка.
Вызывает
View.beforeLayout $this, [$layoutFileName]View.afterLayout $this, [$layoutFileName]
reset()source public
reset( string $name )
Сбросить содержимое блока. Это перепишет любое существующее содержимое.
Параметры
- string
$name - Имя блока
Возвращает
$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().
Параметры
- смешанный
$msg - Сообщение журнала.
- целое число или строка
$levelнеобязательный LogLevel::ERROR - Уровень ошибки.
- строка или массив
$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)
]); Устаревший
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\ViewBuilderviewOptions()source public устаревший
viewOptions( string|array|null $options = null , boolean $merge = true )
Получить/установить допустимые параметры представления в свойстве объекта _validViewOptions. Свойство создаётся как пустой массив, если оно не задано. Если вызвано без параметров, оно вернёт текущий список допустимых параметров представления. См. createView().
Устаревший
3.7.0 Используйте ViewBuilder::setOptions() или любой из его методов-сеттеров вместо этого.Параметры
- строка, массив или null
$optionsнеобязательный null - строка или массив строк, которые нужно добавить в _validViewOptions.
- булево
createView()необязательный true Выполнять слияние или перезаписывать существующие допустимые параметры представления. По умолчанию
true.
Возвращаемое значение
массивОбновлённые параметры представления в виде массива.
Магические методы, унаследованные от Cake\Event\EventDispatcherInterface
getEventManager() |
Подробное описание свойств
$_specialVarssource
protected массив
Список специальных переменных представления.
['_serialize', '_jsonOptions', '_jsonp']
$subDirsource
protected строка
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.8/class-Cake.View.JsonView.html