Класс JsHelper
Класс-помощник Javascript Generator для удобного использования JavaScript.
JsHelper предоставляет абстрактный интерфейс для написания JavaScript с заданной библиотекой на стороне клиента.
- Объект
-
Помощник -
AppHelper -
JsHelper
Авторское право: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположено по адресу Cake/View/Helper/JsHelper.php
Подробное описание методов
__callsource public
__call( string $method , array $params )
call__ Позволяет направлять вызовы методов к Engine Helper. Методы в списке bufferedMethods Engines будут автоматически буферизоваться. Вы можете контролировать буферизацию с помощью параметра buffer. Установив последний параметр любого метода движка в булево значение, вы можете принудительно включить или отключить буферизацию.
Например: $js->get('#foo')->effect('fadeIn', array('speed' => 'slow'), true);
Принудительно включит буферизацию для метода effect. Если метод принимает массив options, вы также можете добавить параметр 'buffer' в массив options и контролировать буферизацию там.
Например: $js->get('#foo')->event('click', $functionContents, array('buffer' => true));
Параметр buffer не будет передан в EngineHelper.
Параметры
- строка
$method - Метод, который нужно вызвать
- массив
$params - Параметры вызываемого метода.
Возвращает
mixedЗависит от результата вызываемого метода, или это может быть экземпляр EngineHelper
Переопределяет
Helper::__call() __constructsource public
__construct( View $View , string|array $settings array() )
Конструктор - определяет помощник движка
Параметры
-
View$View - объект представления, к которому прикреплён помощник.
- строка или массив
$settingsнеобязательно массив() - Массив настроек содержит имя помощника движка.
Переопределяет
Helper::__construct() _createVarssource protected
_createVars( )
Создаёт строку объекта для переменных, передаваемых в JavaScript, и добавляет её в буфер
_getHtmlOptionssource protected
_getHtmlOptions( array $options , array $additional array() )
Обрабатывает набор опций и извлекает HTML-опции. Извлечённые HTML-опции удаляются из параметра $options.
Параметры
- массив
$options - Опции для фильтрации.
- массив
$additionalнеобязательно массив() - Массив дополнительных ключей для извлечения и включения в массив возвращаемых опций.
Возвращает
arrayМассив js-опций и Htmloptions
buffersource public
buffer( string $script , boolean $top false )
Записывает скрипт в буферизованные скрипты.
Параметры
- строка
$script - Строка скрипта, добавляемая в буфер.
- булево
$topнеобязательно false - Если true, скрипт будет добавлен в начало массива буферизованных скриптов. Если false - в конец.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/js.html#JsHelper::buffergetBuffersource public
getBuffer( boolean $clear true )
Получить все буферизованные скрипты
Параметры
- булево
$clearнеобязательно true - Очистить кэш скриптов (по умолчанию true)
Возвращает
arrayМассив скриптов, добавленных к запросу.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/js.html#JsHelper::getBufferlinksource public
link( string $title , string|array $url null , array $options array() )
Создать ссылку 'Ajax'. Использует выбранный движок JavaScript для создания элемента ссылки, который расширен с помощью JavaScript. Опции могут включать как опции HtmlHelper::link(), так и JsBaseEngine::request(), JsBaseEngine::event();
Опции
-
confirm- Создать диалоговое окно confirm() перед отправкой события. -
id- использовать пользовательский идентификатор. -
htmlAttributes- дополнительные нестандартные htmlAttributes. Стандартные атрибуты — class, id, rel, title, escape, onblur и onfocus. -
buffer- Отключить буферизацию и вернуть тег script помимо ссылки.
Параметры
- строка
$title - Название ссылки.
- строка или массив
$urlнеобязательно null - Смешанное значение — строка URL или массив URL CakePHP.
- массив
$optionsнеобязательно массив() - Опции как для HTML-элемента, так и для Js::request()
Возвращает
stringЗавершенная ссылка. Если буферизация отключена, также будет возвращён тег скрипта.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/js.html#JsHelper::linksetsource public
set( string|array $one , string|array $two null )
Передать переменные в JavaScript. Позволяет задавать переменные, которые будут выводиться при получении буфера с помощью JsHelper::getBuffer() или JsHelper::writeBuffer() Переменная JavaScript, используемая для вывода заданных переменных, может быть настроена с помощью JsHelper::$setVariable
Параметры
- строка или массив
$one - Массив переменных для задания или имя переменной для задания.
- строка или массив
$twoнеобязательно null - Если $one является строкой, $two является значением для этого ключа.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/js.html#JsHelper::setsubmitsource public
submit( string $caption null , array $options array() )
Использует выбранный движок JavaScript для создания элемента ввода submit, который расширен с помощью JavaScript. Опции могут включать как опции FormHelper::submit(), так и JsBaseEngine::request(), JsBaseEngine::event();
Формы, отправленные с помощью этого метода, не могут отправлять файлы. Файлы не передаются через XmlHttpRequest и требуют iframe или flash.
Опции
-
urlАдрес, по которому вы хотите, чтобы запрос XHR отправлялся. -
confirmСтрока, которая используется для сообщения confirm() перед отправкой запроса. -
methodМетод, который вы хотите использовать для отправки формы, по умолчанию POST. -
bufferБулевое значение, указывающее, нужно ли буферизовать код скрипта, по умолчанию true. - Также см. опции JsHelper::request() и JsHelper::event()
Параметры
- строка
$captionнеобязательно null - Текст отображения кнопки отправки.
- массив
$optionsнеобязательно массив() - Массив опций. См. опции указанных выше методов.
Возвращает
stringЗавершенная кнопка отправки.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/js.html#JsHelper::submitvaluesource public
value( mixed $val array() , boolean $quoteString null , string $key 'value' )
Переопределите унаследованный Helper::value(). Для получения дополнительной информации об этом методе см. JsBaseEngineHelper::value().
Параметры
- mixed
$valнеобязательно array() - Переменная PHP, которая должна быть преобразована в JSON
- boolean
$quoteStringнеобязательно null - Если false, строковые значения остаются необработанными
- string
$keyнеобязательно 'value' - Имя ключа.
Возвращает
stringбезопасное для JavaScript/JSON представление $val
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/js.html#JsHelper::valueПереопределяет
Helper::value() writeBuffersource public
writeBuffer( array $options array() )
Записывает весь сгенерированный JavaScript в блок кода или кэширует его в файл и возвращает ссылку на скрипт. Если скрипты не были буферизованы, этот метод вернёт null. Если запрос является XHR (ajax), onDomReady будет установлен в false. Так как DOM уже "готовый".
Опции
-
inline- Установите в true, чтобы скрипты выводились как inline блок скрипта, еслиcacheтакже true, будет сгенерирована тег ссылки на скрипт. (по умолчанию true) -
cache- Установите в true, чтобы скрипты кэшировались в файл и привязывались (по умолчанию false) -
clear- Установите в false, чтобы предотвратить очистку кэша скрипта (по умолчанию true) -
onDomReady- обёрнуть кэшированные скрипты в событие domready (по умолчанию true) -
safe- если генерируется inline блок, следует ли обернуть его в <![CDATA[ ... ]]> (по умолчанию true)
Параметры
- array
$optionsнеобязательно array() - опции для блока кода
Возвращает
mixedЗавершенная тег javascript, если скрипты есть; если буферизованные скрипты отсутствуют, будет возвращено null.
Ссылка
http://book.cakephp.org/2.0/ru/core-libraries/helpers/js.html#JsHelper::writeBufferМетоды, унаследованные от Helper
__getsource public
__get( string $name )
Лениво загружает помощники. Также предоставляет доступ к устаревшим свойствам запроса.
Устаревший
3.0.0 Доступ к свойствам запроса через этот метод устарел и будет удален в версии 3.0.Параметры
- string
$name - Имя свойства, к которому осуществляется доступ.
Возвращает
mixedПомощник или свойство, найденное в $name
__setsource public
__set( string $name , mixed $value )
Обеспечивает обратную совместимость для установки значений в объект запроса.
Устаревший
3.0.0 Этот метод будет удалён в версии 3.0Параметры
- string
$name - Имя свойства, к которому осуществляется доступ.
- mixed
$value - Значение для установки.
_confirmsource protected
_confirm( string $message , string $okCode , string $cancelCode '' , array $options array() )
Возвращает строку, используемую в качестве обработчика onclick для диалогов подтверждения.
Параметры
- string
$message - Сообщение, которое будет отображено
- string
$okCode - Код, который будет выполнен после выбора пользователем 'OK'
- string
$cancelCodeнеобязательно '' - Код, который будет выполнен после выбора пользователем 'Отмена'
- array
$optionsнеобязательно array() - Массив опций
Возвращает
stringJS код onclick
_encodeUrlsource protected
_encodeUrl( string $url )
Кодирует URL для использования в атрибутах HTML.
Параметры
- string
$url - URL для кодирования.
Возвращает
stringURL, закодированный как для URL, так и для HTML контекста.
_formatAttributesource protected
_formatAttribute( string $key , string $value , boolean $escape true )
Форматирует отдельный атрибут и возвращает строковое значение составленного атрибута. Работает с минимизированными атрибутами, которые имеют такое же значение, как и их имя, например, 'disabled' и 'checked'
Устаревший
3.0.0 Этот метод будет перенесён в HtmlHelper в версии 3.0Параметры
- string
$key - Имя атрибута для создания
- string
$value - Значение атрибута для создания.
- boolean
$escapeнеобязательно true - Определить, должно ли значение быть экранировано
Возвращает
stringСоставленный атрибут.
_initInputFieldsource protected
_initInputField( string $field , array $options array() )
Устанавливает значения по умолчанию для тега input. Установит атрибуты name, value и id для массива атрибутов html.
Параметры
- string
$field - Имя поля для инициализации.
- array
$optionsнеобязательно array() - Массив опций для использования при инициализации поля ввода.
Возвращает
arrayМассив опций для поля ввода формы.
_namesource protected
_name( array|string $options array() , string $field null , string $key 'name' )
Получает имя поля ввода для текущего тега. Создаёт атрибуты имени ввода, используя форматирование CakePHP data[Model][поле].
Параметры
- array|string
$optionsнеобязательно array() - Если массив, должен быть массивом атрибутов, к которым нужно добавить $key. Если строка или null, будет использоваться как сущность View.
- string
$fieldнеобязательно null - Имя поля.
- string
$keyнеобязательно 'name' - Имя атрибута, который нужно установить, по умолчанию 'name'
Возвращает
mixedЕсли для $options был задан массив, будет возвращён массив с установленным $key. Если была передана строка, будет возвращена строка.
_parseAttributessource protected
_parseAttributes( array $options , array $exclude null , string $insertBefore ' ' , string $insertAfter null )
Возвращает строку, разделённую пробелами, с элементами массива $options. Если ключ массива $options является одним из перечисленных в Helper::$_minimizedAttributes,
И его значение равно:
- '1' (строка)
- 1 (целое число)
- true (булево)
- 'true' (строка)
Тогда значение будет сброшено, чтобы быть идентичным имени ключа. Если значение не является одним из этих трёх, параметр не выводится.
'escape' — особая опция, которая контролирует преобразование атрибутов в их эквиваленты, закодированные html-сущностями. Установите в false, чтобы отключить html-кодирование.
Если значение для любого ключа опции установлено в null или false, эта опция будет исключена из вывода.
Устаревший
3.0.0 Этот метод будет перенесён в HtmlHelper в версии 3.0Параметры
- array
$options - Массив опций.
- array
$excludeнеобязательно null - Массив опций, которые нужно исключить, эти опции не будут частью возвращаемого значения.
- string
$insertBeforeнеобязательно ' ' - Строка, которая будет вставлена перед опциями.
- string
$insertAfterнеобязательно null - Строка, которая будет вставлена после опций.
Возвращает
stringСоставленные атрибуты.
_selectedArraysource protected
_selectedArray( string|array $data , string $key 'id' )
Преобразует набор записей из ассоциации hasAndBelongsToMany в список выбранных значений для элемента множественного выбора.
Параметры
- строка|массив
$data - Массив данных или имя модели.
- строка
$keyнеобязательно 'id' - Имя поля.
Возвращает
arrayмассив
addClasssource public
addClass( array $options array() , string $class null , string $key 'class' )
Добавляет указанный класс к параметрам элемента.
Параметры
- массив
$optionsнеобязательно array() - Массив параметров/атрибутов, к которым нужно добавить класс.
- строка
$classнеобязательно null - Имя добавляемого класса.
- строка
$keyнеобязательно 'class' - Ключ для использования в качестве класса.
Возвращает
arrayМассив параметров с установленным $key.
afterLayoutsource public
afterLayout( string $layoutFile )
Обработчик после макета. afterLayout вызывается после отрисовки макета.
Переопределяется в подклассах.
Параметры
- строка
$layoutFile - Файл макета, который был отрисован.
afterRendersource public
afterRender( string $viewFile )
Обработчик после отрисовки. afterRender вызывается после отрисовки файла представления, но до отрисовки макета.
Переопределяется в подклассах.
Параметры
- строка
$viewFile - Файл представления, который был отрисован.
afterRenderFilesource public
afterRenderFile( string $viewFile , string $content )
Обработчик после отрисовки файла. Вызывается после отрисовки любого фрагмента представления.
Переопределяется в подклассах.
Параметры
- строка
$viewFile - Файл, который только что был отрисован.
- строка
$content - Содержимое, которое было отрисовано.
assetTimestampsource public
assetTimestamp( string $path )
Добавляет отметку времени к файловому ресурсу, основанному на значении Asset.timestamp в Configure. Если Asset.timestamp равно true и debug > 0, или Asset.timestamp равно 'force', будет добавлена отметка времени.
Параметры
- строка
$path - Путь к файлу, к которому нужно добавить отметку времени; путь должен находиться внутри WWW_ROOT
Возвращает
stringПуть с добавленной отметкой времени или без.
assetUrlsource public
assetUrl( string|array $path , array $options array() )
Генерирует URL для указанного файла актива. В зависимости от переданных параметров предоставляет полный URL с именем домена. Также вызывает Helper::assetTimestamp() для добавления отметки времени к локальным файлам.
Параметры
- строка|массив
$path - Строка пути или массив URL.
- массив
$optionsнеобязательно array() - Массив параметров. Возможные ключи:
fullBaseВозвращает полный URL с именем доменаpathPrefixПрефикс пути для относительных URLextРасширение актива для добавленияpluginЛожное значение предотвратит разбор пути как плагина
Возвращает
stringСгенерированный URL
beforeLayoutsource public
beforeLayout( string $layoutFile )
Обработчик перед макетом. beforeLayout вызывается перед отрисовкой макета.
Переопределяется в подклассах.
Параметры
- строка
$layoutFile - Макет, который будет отрисован.
beforeRendersource public
beforeRender( string $viewFile )
Обработчик перед отрисовкой. beforeRender вызывается перед отрисовкой файла представления.
Переопределяется в подклассах.
Параметры
- строка
$viewFile - Файл представления, который будет отрисован
beforeRenderFilesource public
beforeRenderFile( string $viewFile )
Обработчик перед отрисовкой файла. Вызывается перед отрисовкой любого фрагмента представления.
Переопределяется в подклассах.
Параметры
- строка
$viewFile - Файл, который будет отрисован.
cleansource public
clean( string|array $output )
Используется для удаления вредных тегов из содержимого. Удаляет ряд известных атак XSS из содержимого. Однако не гарантирует удаления всех возможностей. Наилучшим способом предотвращения всех возможных атак является экранирование содержимого.
Устаревший
3.0.0 Этот метод будет удален в версии 3.0Параметры
- строка|массив
$output - Массив строк для очистки или одна строка для очистки.
Возвращает
string|array|nullОчищенное содержимое для вывода
domIdsource public
domId( array|string $options null , string $id 'id' )
Генерирует идентификатор DOM для выбранного элемента, если он не задан. Использует текущие настройки View::entity() для генерации идентификатора атрибута CamelCased.
Параметры
- массив|строка
$optionsнеобязательно null - Массив HTML-атрибутов, в который добавить $id, или строка с путем к сущности представления для получения domId.
- строка
$idнеобязательно 'id' - Имя атрибута 'id'.
Возвращает
mixedЕсли $options был массивом, будет возвращен массив с установленным $id. Если была передана строка, будет возвращена строка.
entitysource public
entity( )
Возвращает ссылку на сущность текущего контекста в виде массива идентификаторов.
Возвращает
arrayМассив, содержащий элементы идентификации сущности
fieldsource public
field( )
Возвращает поле модели, используемое в текущем контексте отрисовки. Удаляет суффиксы полей, такие как год, месяц, день, час, мин, меридиан, когда текущая сущность содержит более 2 элементов.
Возвращает
stringстрока
modelsource public
model( )
Возвращает текущую используемую модель контекста отрисовки.
Возвращает
stringстрока
outputsource public
output( string $str )
Возвращает строку, сгенерированную методом помощника.
Этот метод можно переопределить в подклассах для выполнения обобщенной обработки вывода после отрисовки.
Устаревший
3.0.0 Этот метод будет удален в будущих версиях.Параметры
- строка
$str - Строка для вывода.
Возвращает
stringстрока
setEntitysource public
setEntity( string $entity , boolean $setScope false )
Устанавливает свойства модели и поля этого помощника для пары значений, разделенных точкой, в $entity.
Параметры
- строка
$entity - Имя поля, например, "ModelName.fieldName" или "ModelName.ID.fieldName"
- логическое значение
$setScopeнеобязательно false - Устанавливает область видимости представления для модели, указанной в $tagValue
urlsource public
url( string|array $url null , boolean $full false )
Находит URL для указанного действия.
Возвращает URL, указывающий на предоставленные параметры.
Параметры
- строка|массив
$urlнеобязательно null - Либо относительный строковый URL, например,
/products/view/23, либо массив параметров URL. Использование массива для URL позволит использовать возможности обратного маршрутизации CakePHP. - булево
$fullнеобязательно false - Если true, полный базовый URL будет добавлен к результату
Возвращает
stringПолный URL с базовым путём.
Ссылка
http://book.cakephp.org/2.0/ru/views/helpers.htmlwebrootsource public
webroot( string $file )
Проверяет, существует ли файл, когда используется тема; если файл не найден, возвращается стандартное расположение.
Параметры
- строка
$file - Файл, для которого необходимо создать путь webroot.
Возвращает
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Успешность записи в журнал
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необязательно array() - Если массив содержит ключ "return", он устанавливает AutoRender в true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
mixedБулевое значение true или false об успехе/неудачи, или содержимое рендеренного действия, если 'return' установлен в $extra.
toStringsource public
toString( )
Преобразование объекта в строку. Каждый класс может переопределить этот метод по необходимости.
Возвращает
stringИмя этого класса
Краткое описание свойств
Свойства, унаследованные от Helper
$_associationsource
protected string
Имя текущей модели, в рамках которой существуют сущности ассоциации.
См. также
Helper::setEntity()$_entityPathsource
protected string
Список элементов, разделенных точкой, для которых предназначена текущая сущность поля.
См. также
Helper::setEntity()$_fieldSuffixessource
protected array
Список строк, которые следует рассматривать как суффиксы или подвходные данные для родительского входа. В основном используется для ввода даты/времени.
array( 'year', 'month', 'day', 'hour', 'min', 'second', 'meridian' )
$_helperMapsource
protected array
Таблица поиска помощников, используемая для отложенной загрузки объектов помощников.
array() $_minimizedAttributessource
protected array
Миниатюрные атрибуты
array( 'allowfullscreen', 'async', 'autofocus', 'autoplay', 'checked', 'compact', 'controls', 'declare', 'default', 'defaultchecked', 'defaultmuted', 'defaultselected', 'defer', 'disabled', 'enabled', 'formnovalidate', 'hidden', 'indeterminate', 'inert', 'ismap', 'itemscope', 'loop', 'multiple', 'muted', 'nohref', 'noresize', 'noshade', 'novalidate', 'nowrap', 'open', 'pauseonexit', 'readonly', 'required', 'reversed', 'scoped', 'seamless', 'selected', 'sortable', 'spellcheck', 'truespeed', 'typemustmatch', 'visible' )
$_modelScopesource
protected string
Имя текущей модели, в рамках которой существуют сущности.
См. также
Helper::setEntity()$fieldsetsource
public array
Массив полей ('имя_поля' => массив ('тип' => 'строка', 'длина' => 100), первичный ключ и валидация массив ('имя_поля')
array() Резюме магических свойств
$Formsource
public FormHelper
$Htmlsource
public HtmlHelper
© 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-JsHelper.html