130  /  381

Теория. Контроллеры

Просмотров: 30669
Дата последнего изменения: 02.11.2020
Роберт Басыров
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
1
2
3
4
5
Недоступно в редакциях:
Ограничений нет

Термины

  • Действие, аякс-действие - это метод-ответчик, который реализует конечную логику, выполняет работу и возвращает данные.
  • Контроллер - это совокупность аякс-действий.
  • Конфигурация действий - это метод configureActions() внутри контроллера, где определяются правила доступа к действиям.
  • Пре-, пост-фильтры - это элементы конфигурации, которые по сути являются обработчиками события старта-конца действия. Префильтр может блокировать старт, постфильтр может повлиять на результат.

Соглашения

  • При вызове все имена параметров регистроЗАвисимые
  • При вызове все имена действий регистроНЕзависимые
  • Полное имя действия из модуля генерируется по шаблону vendor:module.partOfNamespace0.partOfNamespace1.controller.action.
        \Bitrix\Disk\Controller\Folder::getAction() 
        bitrix:disk.controller.folder.get
    
        \Bitrix\Disk\Controller\Intergation\Dropbox::connectAction() 
        bitrix:disk.controller.intergation.dropbox.connect
    
        \Qsoft\Somedisk\Controller\SuperFolder::getAction() 
        qsoft:somedisk.controller.superFolder.get
  • Если не указывать vendor:, то это означает, что это bitrix:
        \Bitrix\Disk\Controller\Folder::getAction() 
        disk.controller.folder.get
  • Если указан defaultNamespace в настройках модуля, то его можно опускать и не указывать в действии.
    	defaultNamespace = \Bitrix\Disk\Controller
    	
        \Bitrix\Disk\Controller\Folder::getAction() 
        disk.folder.get
  • Если указан альяс в настройках модуля, то его можно использовать его вместо сокращаемого namespace.
    	\Bitrix\Disk\CloudIntegration\Controller => cloud
    	
        \Bitrix\Disk\CloudIntegration\Controller\File::getAction() 
        disk.cloud.file.get
  • При вызове действия из компонента необходимо указывать полное имя компонента и имя действия (без суффикс Action).
        bitrix:list.example
        showFormAction
    
        BX.ajax.runComponentAction('bitrix:list.example', 'showForm', {
            ...
        }).then(function (response) {});
  • Время, дата, ссылки должны возвращаться не в строковом формате, а объектами.
            \Bitrix\Main\Type\DateTime
            \Bitrix\Main\Type\Date
            \Bitrix\Main\Web\Uri



57
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии