Класс MediaView
MediaView предоставляет реализацию пользовательского представления для отправки файлов посетителям. Он отлично подходит для того, чтобы ответ действия контроллера был файлом, сохраненным где-нибудь в файловой системе.
Пример использования происходит из внутренних компонентов CakePHP. MediaView используется для предоставления ресурсов плагинов и тем, поскольку они обычно недоступны из webroot приложения. В отличие от других представлений, 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
-
Представление -
MediaView
Устарело: 3.0.0 Устарело с версии 2.3, используйте CakeResponse::file() вместо этого
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT Лицензия
Расположение: 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()источник public
render( string $view null , string $layout null )
Отображение или скачивание указанного файла
Параметры
- строка
$viewнеобязательно null - Не используется
- строка
$layoutнеобязательно null - Не используется
Исключения
CakeExceptionЕсли возникла ошибка в представлении.
Переопределяет
View::render() Методы, унаследованные от Представление
__construct()источник public
__construct( Controller $controller null )
Конструктор
Параметры
-
Controller$controllerнеобязательно null - Объект контроллера для извлечения View::_passedVars.
Переопределяет
CakeObject::__construct() __get()источник public
__get( string $name )
Магический аксессор для помощников. Обеспечивает доступ к атрибутам, которые были устаревшими.
Параметры
- строка
$name - Имя атрибута для получения.
Возвращает
смешанный__isset()источник public
__isset( string $name )
Магическая проверка isset для устаревших атрибутов.
Параметры
- строка
$name - Имя атрибута для проверки.
Возвращает
логическое значение__set()источник public
__set( string $name , mixed $value )
Магический аксессор для устаревших атрибутов.
Параметры
- строка
$name - Имя атрибута для установки.
- смешанный
$value - Значение атрибута для установки.
Возвращает
смешанный_elementCache()источник protected
_elementCache( string $name , string $data , array $options )
Проверяет, кэшируется ли элемент, и возвращает кэшированные данные, если они есть.
Параметры
- строка
$name - Имя элемента
- строка
$data - Данные
- массив
$options - Опции элемента
Возвращает
строка|null_evaluate()источник protected
_evaluate( string $viewFile , array $dataForView )
Метод-песочница для оценки шаблона/скрипта представления.
Параметры
- строка
$viewFile - Имя файла представления
- массив
$dataForView Данные для включения в рендер представлений. Если пусто, будут использоваться текущие View::$viewVars.
Возвращает
строкаРезультат рендеринга
_getElementFileName()источник protected
_getElementFileName( string $name )
Находит имя файла элемента, возвращает false при ошибке.
Параметры
- строка
$name - Имя элемента для поиска.
Возвращает
смешанныйСтрока имени файла элемента или false, когда не может быть найдена.
_getExtensions()источник protected
_getExtensions( )
Получить расширения, которые могут использовать файлы представлений.
Возвращает
массивМассив расширений, которые используются файлами представлений.
_getLayoutFileName()источник protected
_getLayoutFileName( string $name null )
Возвращает имя файла макета для этого шаблона как строку.
Параметры
- строка
$nameнеобязательно null - Имя макета для поиска.
Возвращает
строкаИмя файла макета (.ctp).
Исключения
MissingLayoutExceptionпри невозможности найти макет
_getViewFileName()источник protected
_getViewFileName( string $name null )
Возвращает имя файла шаблона для данного действия (.ctp) как строку. Имена действий с использованием CamelCase преобразуются в нижний регистр! Это значит, что LongActionNames ссылаются на шаблоны long_action_names.ctp.
Параметры
- строка
$nameнеобязательно null - Действие контроллера для поиска имени файла шаблона.
Возвращает
строкаИмя файла шаблона
Исключения
MissingViewExceptionпри невозможности найти файл представления.
_paths()источник protected
_paths( string $plugin null , boolean $cached true )
Возвращает все возможные пути для поиска файлов представлений в порядке.
Параметры
- строка
$pluginнеобязательно null - Необязательное имя плагина для поиска файлов представлений.
- логическое значение
$cachedнеобязательно true - Установите в false, чтобы принудительно обновить пути представлений. По умолчанию true.
Возвращает
массивПути
_render()source protected
_render( string $viewFile , array $data array() )
Отображает и возвращает вывод для заданного файла представления с его массивом данных. Обрабатывает родительские/расширенные представления.
Параметры
- строка
$viewFile - Имя файла представления
- массив
$dataдополнительно массив() - Данные для включения в отображаемое представление. Если пусто, будут использоваться текущие View::$viewVars.
Возвращает
строкаОтформатированный вывод
Вызывает исключение
CakeExceptionпри оставленном открытым блоке.
Вызывает
View.beforeRenderFile $this, array($viewFile)View.afterRenderFile $this, array($viewFile, $content)
_renderElement()source protected
_renderElement( string $file , array $data , array $options )
Отображает элемент и вызывает обратные вызовы before и afterRender для него и записывает в кэш, если используется кэш
Параметры
- строка
$file - Путь к файлу элемента
- массив
$data - Данные для отображения
- массив
$options - Параметры элемента
Возвращает
строкаВызывает
View.beforeRender $this, array($file)View.afterRender $this, array($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, чтобы активировать обратные вызовы помощников 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 )
Проверить существование блока
Параметры
- строка
$name - Имя блока
Возвращает
логическоеextend()source public
extend( string $name )
Обеспечивает расширение/наследование представления или элемента. Представления могут расширять родительское представление и заполнять блоки в родительском шаблоне.
Параметры
- строка
$name - Представление или элемент, с которым следует «расширить» текущий.
Вызывает исключение
LogicExceptionпри расширении представления самим собой или создании циклов расширения.
LogicException
при расширении элемента, который не существует
fetch()source public
fetch( string $name , string $default '' )
Извлечь содержимое блока. Если блок пуст или не определен, будет возвращено ''.
Параметры
- строка
$name - Имя блока
- строка
$defaultдополнительно '' - Текст по умолчанию
Возвращает
строкаПо умолчанию Содержимое блока или $default, если блок не существует.
См. также
ViewBlock::get()get()source public
get( string $var , mixed $default null )
Возвращает содержимое заданной переменной представления.
Параметры
- строка
$var - Переменная представления, содержимое которой нужно получить.
- смешанный
$defaultдополнительно null - Содержимое по умолчанию/обращение к $var.
Возвращает
смешанныйСодержимое указанной переменной, если она установлена, иначе $default.
getCurrentType()source public
getCurrentType( )
Получить текущий тип представления
Возвращает
строкаgetEventManager()source public
getEventManager( )
Возвращает экземпляр менеджера CakeEventManager, обрабатывающий любые обратные вызовы. Можно использовать этот экземпляр для регистрации новых слушателей или обратных вызовов для событий контроллера или для создания собственных событий и их вызова по мере необходимости.
Возвращает
CakeEventManagergetVar()source public
getVar( string $var )
Возвращает содержимое заданной(ых) переменной(ых) представления.
Параметры
- строка
$var - Переменная представления, содержимое которой нужно получить.
Возвращает
смешанныйСодержимое указанной переменной, если она установлена, иначе 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() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет обертку ОО для 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 и именованных/переданных аргументов.
Возвращает
mixedБулево значение true или false при успехе/неудаче или содержимое отрисованного действия, если в $extra установлен ключ 'return'.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределить этот метод по мере необходимости.
Возвращает
строкаИмя этого класса
© 2005–2016 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.9/class-MediaView.html