Класс Controller расширяет стандартный битриксовский класс CBitrixComponent
удобен для работы
class.php
$this->request - здесь $_REQUEST
Запуск компонента
удобен для работы
про компоненты Битрикс - подробная статья с примерами |
namespace nikaverro\controller; use Bitrix\Main\Context; class Controller extends \CBitrixComponent { public $page = ''; public $request; public function __construct(\CBitrixComponent $component = null){ parent::__construct($component); $this->request = Context::getCurrent()->getRequest(); } public function executeComponent() { if(strlen($this->arParams['controller']) <= 0){ return false; } $methodName = $this->arParams['controller'].'Controller'; if(!method_exists($this, $methodName)){ throw new \Exception('CONTROLLER_NOT_FOUND'); } $this->$methodName(); } public function rb() { global $APPLICATION; $APPLICATION->RestartBuffer(); } } |
class.php
$this->request - здесь $_REQUEST
use nikaverro\controller\Controller; use \Bitrix\Main\Application; class MessageSend extends Controller { function MessageSendController(){ //моя логика ... $this->arResult = []; //тут результат $this->IncludeComponentTemplate(); } function OtherController(){ //другой контроллер } } |
Запуск компонента
$APPLICATION->IncludeComponent( "nikaverro.message:nikaverro.message.send", //компонент '.default', //шаблон ["controller"=>"MessageSend"] //метод в class.php MessageSendController ); |