Класс MediaView
MediaView предоставляет реализацию пользовательского представления для отправки файлов посетителям. Он отлично подходит для того, чтобы сделать ответ действия контроллера файлом, который сохраняется где-то в файловой системе.
Пример использования можно найти во внутренних механизмах CakePHP. MediaView используется для предоставления ресурсов плагинов и тем, поскольку они обычно недоступны из корневого каталога приложения. В отличие от других представлений, MediaView использует несколько viewVars, имеющих специальное значение:
-
idИмя файла в файловой системе сервера, включая расширение. -
nameИмя файла, которое будет отправлено пользователю, указанное без расширения. -
downloadУстанавливается в значение true для установки заголовкаContent-Disposition. Это идеально подходит для загрузки файлов. -
pathАбсолютный путь, включая конечный / в файловой системе сервера дляid. -
mimeTypeТип MIME файла, если CakeResponse его не знает. Должен быть ассоциативным массивом с расширением в качестве ключа и типом MIME в качестве значения, например, array('ini' => 'text/plain')
Использование
class ExampleController extends AppController {
public function download() {
$this->viewClass = 'Media';
$params = array(
'id' => 'example.zip',
'name' => 'example',
'download' => true,
'extension' => 'zip',
'path' => APP . 'files' . DS
);
$this->set($params);
}
} - CakeObject
-
View
-
MediaView
Устаревший: 3.0.0 Устаревший с версии 2.3, используйте CakeResponse::file() вместо этого
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/View/MediaView.php
Наследуемые константы
Наследуемые магические свойства
Наследуемые свойства
-
Blocks,Helpers,_current,_currentType,_eventManager,_eventManagerConfigured,_parents,_passedVars,_paths,_pathsForPlugin,_scripts,_stack,autoLayout,cacheAction,elementCache,elementCacheSettings,ext,hasRendered,helpers,layout,layoutPath,name,passedArgs,plugin,request,response,subDir,theme,uuids,validationErrors,view,viewPath,viewVars
Краткое описание методов
- render() publicОтображение или загрузка заданного файла
Подробное описание методов
render()source public
render( string $view null , string $layout null )
Отображение или загрузка заданного файла
Параметры
- string
$viewнеобязательно null - Не используется
- string
$layoutнеобязательно null - Не используется
Исключения
CakeExceptionЕсли возникла ошибка в представлении.
Переопределяет
View::render() Методы, унаследованные от View
__construct()source public
__construct( Controller $controller null )
Конструктор
Параметры
-
Controller$controllerнеобязательно null - Объект контроллера для извлечения View::_passedVars.
Переопределяет
CakeObject::__construct() __get()source public
__get( string $name )
Магический доступ к помощникам. Предоставляет доступ к атрибутам, которые были устаревшими.
Параметры
- string
$name - Имя атрибута для получения.
Возвращает
mixed__isset()source public
__isset( string $name )
Магическая проверка isset для устаревших атрибутов.
Параметры
- string
$name - Имя атрибута для проверки.
Возвращает
boolean__set()source public
__set( string $name , mixed $value )
Магический доступ для устаревших атрибутов.
Параметры
- string
$name - Имя атрибута для установки.
- mixed
$value - Значение атрибута для установки.
Возвращает
mixed_elementCache()source protected
_elementCache( string $name , string $data , array $options )
Проверяет, кэширован ли элемент, и возвращает кэшированные данные, если они присутствуют
Параметры
- string
$name - Имя элемента
- string
$data - Данные
- array
$options - Опции элемента
Возвращает
string|null_evaluate()source protected
_evaluate( string $viewFile , array $dataForView )
Метод среды выполнения для оценки шаблона/скрипта представления.
Параметры
- string
$viewFile - Имя файла представления
- array
$dataForView Данные для включения в отрисовываемое представление. Если пусто, будут использоваться текущие View::$viewVars.
Возвращает
stringРезультат отрисовки
_getElementFileName()source protected
_getElementFileName( string $name )
Находит имя файла элемента, возвращает false при ошибке.
Параметры
- string
$name - Имя элемента для поиска.
Возвращает
mixedСтрока имени файла элемента или false, если файл не найден.
_getExtensions()source protected
_getExtensions( )
Получить расширения, которые могут использовать файлы представлений.
Возвращает
arrayМассив расширений, используемых файлами представлений.
_getLayoutFileName()source protected
_getLayoutFileName( string $name null )
Возвращает имя файла макета для этого шаблона в виде строки.
Параметры
- string
$nameнеобязательно null - Имя макета для поиска.
Возвращает
stringИмя файла макета (.ctp).
Исключения
MissingLayoutExceptionпри невозможности найти макет
_getViewFileName()source protected
_getViewFileName( string $name null )
Возвращает имя файла шаблона для данного действия (.ctp) в виде строки. Имена действий с использованием CamelCase будут преобразованы в нижний регистр, разделенный подчеркиванием! Это означает, что у вас могут быть имена действий LongActionNames, которые ссылаются на представления long_action_names.ctp.
Параметры
- string
$nameнеобязательно null - Действие контроллера для поиска имени файла шаблона
Возвращает
stringИмя файла шаблона
Исключения
MissingViewExceptionесли файл представления не может быть найден.
_paths()source protected
_paths( string $plugin null , boolean $cached true )
Возвращает все возможные пути для поиска файлов представлений в порядке
Параметры
- string
$pluginнеобязательно null - Необязательное имя плагина для поиска файлов представления.
- boolean
$cachedнеобязательно true - Установите в значение false, чтобы принудительно обновить пути представлений. По умолчанию true.
Возвращает
arrayпути
_render()source protected
_render( string $viewFile , array $data array() )
Отображает и возвращает вывод для заданного файла представления с его массивом данных. Обрабатывает родительские/расширенные представления.
Параметры
- строка
$viewFile - Имя файла представления
- массив
$dataнеобязательно массив() - Данные для включения в отображаемое представление. Если пусто, будут использованы текущие View::$viewVars.
Возвращает
строкаОтформатированный вывод
Исключения
CakeExceptionкогда блок оставлен открытым.
Вызывает
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)
addScript()source public
addScript( string $name , string $content null )
Добавляет блок скрипта или другой элемент для вставки в $scripts_for_layout в <head /> макета документа.
Параметры
- строка
$name Имя ключа для скрипта или содержимое скрипта. Имя может использоваться для обновления/замены элемента скрипта.
- строка
$contentнеобязательно null - Содержимое добавляемого скрипта, необязательно.
См. также
View::start()append()source public
append( string $name , mixed $value null )
Добавляет к существующему или новому блоку. Добавление к новому блоку создаст его.
Параметры
- строка
$name - Имя блока
- смешанное
$valueнеобязательно null - Содержимое блока.
См. также
ViewBlock::concat()assign()source public
assign( string $name , mixed $value )
Устанавливает содержимое блока. Это перезапишет любое существующее содержимое.
Параметры
- строка
$name - Имя блока
- смешанное
$value - Содержимое блока.
См. также
ViewBlock::set()blocks()source public
blocks( )
Получить имена всех существующих блоков.
Возвращает
массивМассив, содержащий блоки.
См. также
ViewBlock::keys()element()source public
element( string $name , array $data array() , array $options array() )
Отображает фрагмент PHP с предоставленными параметрами и возвращает HTML, XML или любую другую строку.
Реализует концепцию элементов (или «частичных макетов»), массив $params используется для передачи данных, которые будут использоваться в элементе. Элементы могут быть кэшированы, повышая производительность, используя опцию cache.
Параметры
- строка
$name Имя файла шаблона в каталоге /app/View/Elements/, или
MyPlugin.templateдля использования шаблона элемента из MyPlugin. Если элемент не найден в плагине, будет произведён поиск по стандартному пути представления.- массив
$dataнеобязательно массив() - Массив данных, доступных для отображаемого представления (т.е. элемента)
- массив
$optionsнеобязательно массив() Массив параметров. Возможные ключи: -
cache- Может бытьtrue, чтобы включить кэширование с использованием настроек в View::$elementCache. Или массив. Если массив, следующие ключи могут быть использованы: -config- Используется для хранения кэшированного элемента в пользовательской конфигурации кэша. -key- Используется для определения ключа, используемого в Cache::write(). Он будет префиксelement_-plugin- (устарело!) Загрузка элемента из определённого плагина. Этот параметр устарел и будет удалён в CakePHP 3.0. ИспользуйтеPlugin.element_nameвместо этого. -callbacks- Установите в true для вызова обратных вызовов helper beforeRender и afterRender для этого элемента. По умолчанию false. -ignoreMissing- Используется для разрешения отсутствующих элементов. Установите в true, чтобы не выводить предупреждения.
Возвращает
строкаОтформатированный элемент
elementExists()source public
elementExists( string $name )
Проверяет существование элемента
Параметры
- строка
$name Имя файла шаблона в каталоге /app/View/Elements/, или
MyPlugin.templateдля проверки элемента шаблона из MyPlugin. Если элемент не найден в плагине, будет произведён поиск по стандартному пути представления.
Возвращает
логическое значениеУспешно
end()source public
end( )
Завершить блок захвата. Комплементарное действие к View::start()
См. также
ViewBlock::end()exists()source public
exists( string $name )
Проверить, существует ли блок
Параметры
- string
$name - Имя блока
Возвращает
booleanextend()source public
extend( string $name )
Обеспечивает расширение/наследование представления или элемента. Представления могут расширять родительское представление и заполнять блоки в родительской шаблоне.
Параметры
- string
$name - Представление или элемент, с которым расширяется текущий.
Исключения
LogicExceptionпри расширении представления самим собой или создании циклов расширения.
LogicException
при расширении элемента, который не существует
fetch()source public
fetch( string $name , string $default '' )
Получить содержимое блока. Если блок пустой или не определен, возвращается ''.
Параметры
- string
$name - Имя блока
- string
$defaultнеобязательно '' - Текст по умолчанию
Возвращает
stringПо умолчанию Содержимое блока или $default, если блок не существует.
См. также
ViewBlock::get()get()source public
get( string $var , mixed $default null )
Возвращает содержимое заданной переменной представления.
Параметры
- string
$var - Переменная представления, содержимое которой требуется.
- mixed
$defaultнеобязательно null - Содержимое по умолчанию/значение по умолчанию для $var.
Возвращает
mixedСодержимое указанной переменной, если она задана, иначе $default.
getCurrentType()source public
getCurrentType( )
Получить текущий тип представления
Возвращает
stringgetEventManager()source public
getEventManager( )
Возвращает экземпляр менеджера CakeEventManager, обрабатывающий любые обратные вызовы. Вы можете использовать этот экземпляр для регистрации новых слушателей или обратных вызовов к событиям контроллера, или создавать свои события и вызывать их по желанию.
Возвращает
CakeEventManagergetVar()source public
getVar( string $var )
Возвращает содержимое заданной переменной (или переменных) представления.
Параметры
- string
$var - Переменная представления, содержимое которой требуется.
Возвращает
mixedСодержимое указанной переменной, если она задана, иначе null.
getVars()source public
getVars( )
Возвращает список переменных, доступных в текущем контексте представления
Возвращает
arrayМассив имён установленных переменных представления.
loadHelper()source public
loadHelper( string $helperName , array $settings array() )
Загружает помощник. Делегирует загрузку помощника HelperCollection::load()
Параметры
- string
$helperName - Имя помощника для загрузки.
- array
$settingsoptional array() - Настройки для помощника
Возвращает
Helperобъект помощника.
См. также
HelperCollection::load()loadHelpers()source public
loadHelpers( )
Взаимодействует с HelperCollection для загрузки всех помощников.
pluginSplit()source public
pluginSplit( string $name , boolean $fallback true )
Разделяет имя плагина с использованием синтаксиса точки на имя плагина и имя файла. Если в $name нет точки, то индекс 0 будет null. Проверяет, загружен ли плагин, иначе имя файла останется неизменным для имён файлов, содержащих точку
Параметры
- string
$name - Имя плагина, которое нужно разделить.
- boolean
$fallbackoptional true - Если true, использует плагин, установленный в текущем CakeRequest, когда загруженный плагин не найден
Возвращает
arrayМассив с 2 индексами. 0 => имя плагина, 1 => имя файла
prepend()source public
prepend( string $name , mixed $value null )
Добавляет в начало существующего или нового блока. Добавление в новый блок создаст его.
Параметры
- string
$name - Имя блока
- mixed
$valueoptional null - Содержимое блока.
См. также
ViewBlock::concat()renderCache()source public
renderCache( string $filename , string $timeStart )
Отобразить кэшированное представление. Работает совместно с CacheHelper и Dispatcher для отображения кэшированных файлов представления.
Параметры
- string
$filename - Файл кэша для включения
- string
$timeStart - Время начала рендеринга страницы
Возвращает
booleanРезультат отображения кэшированного файла.
renderLayout()source public
renderLayout( string $content , string $layout null )
Отображает макет. Возвращает вывод от _render(). Возвращает false при ошибке. Несколько переменных созданы для использования в макете.
-
title_for_layout- Заглушка обратной совместимости, вы должны установить это значение, если хотите больше контроля. -
content_for_layout- содержит отрендеренный файл представления -
scripts_for_layout- Содержит контент, добавленный с помощью addScript(), а также любой контент в блоках 'meta', 'css' и 'script'. Они добавляются в указанном порядке.
Устаревшие функции:
-
$scripts_for_layoutустарела и будет удалена в CakePHP 3.0. Используйте вместо этого возможности блоков.meta,cssиscriptбудут заполнены соответствующими методами HtmlHelper. -
$title_for_layoutустарела и будет удалена в CakePHP 3.0. Используйте вместо этого блокtitle. -
$content_for_layoutустарела и будет удалена в CakePHP 3.0. Используйте вместо этого блокcontent.
Параметры
- string
$content - Содержимое для отображения в представлении, обернутое окружающим макетом.
- string
$layoutoptional null - Имя макета
Возвращает
mixedОтрендеренный вывод или false при ошибке
Выбрасывает
CakeExceptionесли в представлении произошла ошибка.
Вызывает
View.beforeLayout $this, array($layoutFileName)View.afterLayout $this, array($layoutFileName)
set()source public
set( string|array $one , string|array $two null )
Позволяет шаблону или элементу установить переменную, которая будет доступна в макете или другом элементе. Аналогично Controller::set().
Параметры
- string|array
$one - Строка или массив данных.
- string|array
$twooptional null Значение в случае, если $one - строка (тогда она работает как ключ). Не используется, если $one - ассоциативный массив, в противном случае служит значениями для ключей $one.
start()source public
start( string $name )
Начать захват вывода для блока
Параметры
- string
$name - Имя блока для захвата.
См. также
ViewBlock::start()startIfEmpty()source public
startIfEmpty( string $name )
Начать захват вывода для блока, если он пуст
Параметры
- string
$name - Имя блока для захвата.
См. также
ViewBlock::startIfEmpty()uuid()source public
uuid( string $object , string $url )
Генерирует уникальный, не случайный идентификатор DOM для объекта, на основе типа объекта и целевого URL.
Параметры
- string
$object - Тип объекта, например 'форма' или 'ссылка'
- string
$url - Целевой URL объекта
Возвращает
stringМетоды, унаследованные от CakeObject
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет $property этого объекта с свойством в определении $class. Значение этого класса для свойства будет объединено поверх $class'
Это обеспечивает некоторую из DRY-магии CakePHP. Если вы хотите отключить её, переопределите этот метод как пустую функцию.
Параметры
- array
$properties - Имя свойств для объединения.
- string
$class - Класс для объединения свойства с.
- boolean
$normalizeoptional true - Установите в true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет задать несколько свойств объекта в одной строке кода. Будут установлены только свойства, которые являются частью объявления класса.
Параметры
- array
$propertiesoptional array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- integer|string
$statusoptional 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет OO-обёртку для call_user_func_array
Параметры
- string
$method - Имя метода для вызова
- array
$paramsoptional array() - Список параметров для использования при вызове $method
Возвращает
mixedВозвращает результат вызова метода
log()source public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Метод для записи сообщения в CakeLog. Для получения дополнительной информации о записи в журналы, см. CakeLog::write().
Параметры
- строка
$msg - Сообщение журнала
- целое число
$typeнеобязательно LOG_ERR - Постоянная типа ошибки. Определено в app/Config/core.php.
- null|строка|массив
$scopeнеобязательно null Область(и), в которой создается сообщение журнала. Подробнее о параметрах журналов см. CakeLog::config().
Возвращает
booleanРезультат записи в журнал
requestAction()source public
requestAction( string|array $url , array $extra array() )
Вызывает метод контроллера из любого места. Может использоваться для связи контроллеров или подключения плагинов к основному приложению. requestAction можно использовать для возврата рендерных представлений или извлечения возвращаемого значения из действий контроллера.
Внутри этого метода используется Router::reverse() для преобразования параметра $url в строку URL. Следует использовать форматы URL, совместимые с Router::reverse().
Передача данных POST и GET
Данные POST и GET могут быть смоделированы в requestAction. Используйте $extra['url'] для данных GET. Параметр $extra['data'] позволяет моделировать данные POST.
Параметры
- строка|массив
$url Строка или массив-URL. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- массив
$extraнеобязательно array() Если массив включает ключ "return", он устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
смешанное значениеБулевое значение true или false об успехе/неудачи или содержимое рендерного действия, если в $extra установлен ключ "return".
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределить этот метод по необходимости.
Возвращает
строкаНазвание этого класса
© 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/2.10/class-MediaView.html