Spec-Zone.ru › CakePHP 2.7

Класс 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);
        }
}
Объект
Extended by Представление
Extended by MediaView
Пакет: Cake\Представление
Устаревший: 3.0.0 Устарел с версии 2.3, используйте CakeResponse::file() вместо этого
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: Лицензия MIT
Расположен по адресу Cake/View/MediaView.php

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

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.

Переопределяет

Object::__construct()

__getисходный код public

__get( string $name )

Магический доступ к помощникам. Предоставляет доступ к устаревшим атрибутам.

Параметры

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

Возвращает

mixed
смешанный тип

__issetисходный код public

__isset( string $name )

Магическая проверка isset для устаревших атрибутов.

Параметры

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

Возвращает

boolean
логический тип

__setисходный код public

__set( string $name , mixed $value )

Магический доступ к устаревшим атрибутам.

Параметры

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

Возвращает

mixed
смешанный тип

_elementCacheисходный код protected

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

Проверяет, кэширован ли элемент, и возвращает кэшированные данные, если они есть

Параметры

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

Возвращает

string|null
строка|null

_evaluateисходный код protected

_evaluate( string $viewFile , array $dataForView )

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

Параметры

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

Возвращает

string
Результат рендеринга

_getElementFileNameисходный код protected

_getElementFileName( string $name )

Находит имя файла элемента, возвращает false при ошибке.

Параметры

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

Возвращает

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

_getExtensionsисходный код protected

_getExtensions( )

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

Возвращает

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

_getLayoutFileNameисходный код protected

_getLayoutFileName( string $name null )

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

Параметры

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

Возвращает

string
Имя файла макета (.ctp).

Исключения

MissingLayoutException
если макет не найден

_getViewFileNameисходный код protected

_getViewFileName( string $name null )

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

Параметры

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

Возвращает

string
Имя файла шаблона

Исключения

MissingViewException
если файл представления не найден.

_pathsисходный код protected

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

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

Параметры

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

Возвращает

array
пути

_renderисходный код protected

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

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

Параметры

строка $viewFile
Имя файла представления
массив $data необязательно array()
Данные для включения в отрисовываемое представление. Если пусто, будут использованы текущие View::$viewVars.

Возвращает

string
Результат рендеринга

Исключения

CakeException
если блок оставлен открытым.

Вызывает

View.beforeRenderFile $this, array($viewFile)
View.afterRenderFile $this, array($viewFile, $content)

_renderElementисходный код protected

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

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

Параметры

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

Возвращает

string
строка

Вызывает

View.beforeRender $this, array($file)
View.afterRender $this, array($file, $element)
END_OF_DOCUMENT_MARKER

addScriptsource public

addScript( string $name , string $content null )

Добавляет блок скрипта или другой элемент для вставки в $scripts_for_layout в <head /> макета документа.

Параметры

строка $name
Имя ключа для скрипта или содержимое скрипта. Имя может использоваться для обновления/замены элемента скрипта.
строка $content необязательно null
Содержимое добавляемого скрипта, необязательно.

См. также

View::start()

appendsource public

append( string $name , mixed $value null )

Добавляет содержимое к существующему или новому блоку. Добавление к новому блоку создаст этот блок.

Параметры

строка $name
Имя блока
смешанное $value необязательно null
Содержимое блока.

См. также

ViewBlock::concat()

assignsource public

assign( string $name , mixed $value )

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

Параметры

строка $name
Имя блока
смешанное $value
Содержимое блока.

См. также

ViewBlock::set()

blockssource public

blocks( )

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

Возвращает

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

См. также

ViewBlock::keys()

elementsource public

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

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

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

Параметры

строка $name
Имя файла шаблона в папке/app/View/Elements/, или MyPlugin.template для использования шаблона элемента из MyPlugin. Если элемент не найден в плагине, будет выполнена обычная каскадная проверка пути представления.
массив $data необязательно array()
Массив данных, которые будут доступны для отображаемого представления (т. е. элемента).
массив $options необязательно array()
Массив опций. Возможные ключи: - cache - Может быть true, чтобы включить кэширование, используя конфигурацию в View::$elementCache. Или массив. Если массив, следующие ключи могут быть использованы: - config - Используется для хранения кэшированного элемента в пользовательской конфигурации кэша. - key - Используется для определения ключа, используемого в Cache::write(). Он будет префикс element_ - plugin - (устарело!) Загрузить элемент из определенного плагина. Этот параметр устарел и будет удален в CakePHP 3.0. Используйте Plugin.element_name вместо этого. - callbacks - Установите в true, чтобы вызвать обратные вызовы beforeRender и afterRender для этого элемента. По умолчанию false. - ignoreMissing - Используется для разрешения отсутствующих элементов. Установите в true, чтобы не выводить сообщения об ошибках.

Возвращает

string
Отображенный элемент

elementExistssource public

elementExists( string $name )

Проверяет наличие элемента

Параметры

строка $name
Имя файла шаблона в папке /app/View/Elements/, или MyPlugin.template для проверки элемента шаблона из MyPlugin. Если элемент не найден в плагине, будет выполнена обычная каскадная проверка пути представления.

Возвращает

boolean
Успешно

endsource public

end( )

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

См. также

ViewBlock::end()

existssource public

exists( string $name )

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

Параметры

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

Возвращает

boolean
bool

extendsource public

extend( string $name )

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

Параметры

строка $name
Представление или элемент для «расширения» текущего.

Исключения

LogicException
при расширении представления самим собой или создании циклов расширения.
LogicException
при расширении несуществующего элемента

fetchsource public

fetch( string $name , string $default '' )

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

Параметры

строка $name
Имя блока
строка $default необязательно ''
Текст по умолчанию

Возвращает

string
содержимое блока или $default, если блок не существует.

См. также

ViewBlock::get()

getsource public

get( string $var , mixed $default null )

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

Параметры

строка $var
Переменная представления, содержимое которой требуется.
смешанное $default необязательно null
Содержимое по умолчанию/значение по умолчанию для $var.

Возвращает

mixed
Содержимое переменной с указанным именем, если она установлена, в противном случае $default.

getCurrentTypesource public

getCurrentType( )

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

Возвращает

string
строка

getEventManagersource public

getEventManager( )

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

Возвращает

CakeEventManager
CakeEventManager

getVarsource public

getVar( string $var )

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

Параметры

строка $var
Переменная представления, содержимое которой требуется.

Возвращает

mixed
Содержимое переменной с указанным именем, если она установлена, в противном случае null.

getVarssource public

getVars( )

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

Возвращает

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

loadHelpersource public

loadHelper( string $helperName , array $settings array() )

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

Параметры

строка $helperName
Имя помощника для загрузки.
массив $settings необязательно array()
Настройки для помощника.

Возвращает

Helper
объект построенного помощника.

См. также

HelperCollection::load()

loadHelperssource public

loadHelpers( )

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

pluginSplitsource public

pluginSplit( string $name , boolean $fallback true )

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

Параметры

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

Возвращает

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

prependsource public

prepend( string $name , mixed $value null )

Добавляет в начало существующего или нового блока. Добавление в новый блок создаст этот блок.

Параметры

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

См. также

ViewBlock::concat()

renderCachesource public

renderCache( string $filename , string $timeStart )

Отображает кэшированный вид. Работает совместно с CacheHelper и Dispatcher для отображения кэшированных файлов представления.

Параметры

строка $filename
Файл кэша для включения
строка $timeStart
Время начала рендеринга страницы

Возвращает

boolean
Результат рендеринга кэшированного файла.

renderLayoutsource 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.

Параметры

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

Возвращает

mixed
Отрендеренный вывод или false при ошибке

Выбрасывает

CakeException
в случае ошибки в представлении.

Вызывает

View.beforeLayout $this, массив($layoutFileName)
View.afterLayout $this, массив($layoutFileName)

setsource public

set( string|array $one , string|array $two null )

Позволяет шаблону или элементу установить переменную, которая будет доступна в макете или другом элементе. Аналогично Controller::set().

Параметры

строка|массив $one
Строка или массив данных.
строка|массив $two необязательно null
Значение, если $one — строка (которая затем действует как ключ). Не используется, если $one — ассоциативный массив, иначе служит значениями для ключей $one.

startsource public

start( string $name )

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

Параметры

строка $name
Имя блока, для которого нужно захватить вывод.

См. также

ViewBlock::start()

startIfEmptysource public

startIfEmpty( string $name )

Начать захват вывода для блока, если он пустой

Параметры

строка $name
Имя блока, для которого нужно захватить вывод.

См. также

ViewBlock::startIfEmpty()

uuidsource public

uuid( string $object , string $url )

Генерирует уникальный, не случайный идентификатор DOM для объекта, основанный на типе объекта и целевом URL.

Параметры

строка $object
Тип объекта, например, 'форма' или 'ссылка'
строка $url
Целевой URL объекта

Возвращает

string
строка

Методы, унаследованные от Object

_mergeVarssource protected

_mergeVars( array $properties , string $class , boolean $normalize true )

Объединяет свойства объекта $property со свойством в определении $class. Значение свойства этого класса будет объединено поверх $class'.

Это обеспечивает некоторую DRY магию, предоставляемую CakePHP. Если вы хотите отключить её, переопределите этот метод как пустую функцию.

Параметры

массив $properties
Название свойств для объединения.
строка $class
Класс для объединения свойства.
логическое значение $normalize необязательно true
Установите в значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.

_setsource protected

_set( array $properties array() )

Позволяет установить несколько свойств объекта в одной строке кода. Будет устанавливать только те свойства, которые являются частью объявления класса.

Параметры

массив $properties необязательно array()
Ассоциативный массив, содержащий свойства и соответствующие значения.

_stopsource protected

_stop( integer|string $status 0 )

Останавливает выполнение текущего скрипта. Оборачивает exit(), что упрощает тестирование.

Параметры

целое число|строка $status необязательно 0
см. http://php.net/exit для значений

dispatchMethodsource public

dispatchMethod( string $method , array $params array() )

Вызывает метод этого объекта с заданными параметрами. Предоставляет ОО оболочку для call_user_func_array

Параметры

строка $method
Имя вызываемого метода
массив $params необязательно array()
Список параметров для использования при вызове $method

Возвращает

mixed
Возвращает результат вызова метода

logsource 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
Успешность записи в журнал
END_OF_DOCUMENT_MARKER

requestActionsource 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 необязательно массив()
Если массив включает ключ "return", он устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST, а также именованных и переданных аргументов.

Возвращаемое значение

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

toStringsource public

toString( )

Преобразование объекта в строку. Каждый класс может переопределить этот метод по необходимости.

Возвращаемое значение

string
Имя этого класса

Константы, унаследованные от View

TYPE_ELEMENT, TYPE_LAYOUT, TYPE_VIEW

Свойства, унаследованные от View

$Blockssource

public ViewBlock

Экземпляр ViewBlock.

$Helperssource

public HelperCollection

Коллекция Helpers

$_currentsource

protected string

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

null

$_currentTypesource

protected string

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

''

$_eventManagersource

protected CakeEventManager

Экземпляр CakeEventManager, который использует этот объект View для отправки внутренних событий. Обычно менеджер используется совместно с контроллером, поэтому можно регистрировать события представления в слое контроллера.

null

$_eventManagerConfiguredsource

protected boolean

Была ли уже настроена система обработки событий для этого объекта

false

$_parentssource

protected array

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

array()

$_passedVarssource

protected array

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

array(
    'viewVars', 'autoLayout', 'ext', 'helpers', 'view', 'layout', 'name', 'theme',
    'layoutPath', 'viewPath', 'request', 'plugin', 'passedArgs', 'cacheAction'
)

$_pathssource

protected array

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

array()

$_pathsForPluginsource

protected array

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

array()

$_scriptssource

protected array

Скрипты (и/или другие теги <head />) для макета.

array()

$_stacksource

protected array

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

array()

$autoLayoutsource

public boolean

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

true

$cacheActionsource

public mixed

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

See

Controller::$cacheAction
false

$elementCachesource

public string

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

See

View::element()
'default'

$elementCacheSettingssource

public array

Настройки кэша элементов

See

View::_elementCache();
View::_renderElement()
array()

$extsource

public string

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

'.ctp'

$hasRenderedsource

public boolean

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

false

$helperssource

public mixed

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

array()

$layoutsource

public string

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

'default'

$layoutPathsource

public string

Путь к макету.

null

$namesource

public string

Имя контроллера.

null

$passedArgssource

public mixed

Текущие переданные параметры

array()

$pluginsource

public string

Имя плагина.

Link

http://manual.cakephp.org/chapter/plugins
null

$requestsource

public CakeRequest

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

$responsesource

public CakeResponse

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

$subDirsource

public string

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

null

$themesource

public string

Имя темы.

null

$uuidssource

public array

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

array()

$validationErrorssource

public array

Содержит текущие ошибки валидации модели.

array()

$viewsource

public string

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

null

$viewPathsource

public string

Путь к представлению.

null

$viewVarssource

public array

Переменные для представления

array()

Магические свойства, унаследованные от View

$Blockssource

public ViewBlock

$Cachesource

public CacheHelper

$Formsource

public FormHelper

$Htmlsource

public HtmlHelper

$Jssource

public JsHelper

$Numbersource

public NumberHelper

$Paginatorsource

public PaginatorHelper

$Rsssource

public RssHelper

$Sessionsource

public SessionHelper

$Textsource

public TextHelper

$Timesource

public TimeHelper

© 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.
http://api.cakephp.org/2.7/class-MediaView.html

Spec-Zone.ru

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