Полный цикл в digital

Объекты APPLICATION, CONTEXT, REQUEST, SERVER в D7

В Битрикс есть встроенные объекты которые могут быть очень полезны при разработке.

APPLICATION

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

// подключаем приложение для обращения к глобальным сущностям ядра
use \Bitrix\Main\Application;
// возвращает новый экземпляр объекта кеша
$cache = Application::getCache();  
// возвращает соединение с базой данных указанного имени, $name - название соединения. Если пустое - то соединение по умолчанию         
$dbConnection = Application::getConnection($name); 
// возвращает содержание текущего соединения
$context = Application::getContext(); 
// возвращает document root сервера (вместо $_SERVER["DOCUMENT_ROOT"])
$docRoot = Application::getDocumentRoot(); 
// возвращает путь к персональной директории (относительно document root)
$personalRoot = Application::getPersonalRoot(); 
// возвращает текущий экземпляр приложения
$instance = Application::getInstance();     
// возвращает объект управляемого кеша
$managedCache = Application::getManagedCache(); 
// возвращает объект тегированного кеша
$taggedCache = Application::getTaggedCache(); 
// метод вернёт true если сервер работает в utf-8, если нет, то false 
$utfVode = Application::isUtfMode(); 

CONTEXT

Context объект, который создается при инициализации Application, отвечающий за конкретный хит. Он содержит данные о запросе, серверные параметры, окружение 1С-Битрикса (id, язык сайта) являющийся изменяемой частью текущего ядра.

// подключаем приложение для обращения к глобальным сущностям ядра
use \Bitrix\Main\Application;
use \Bitrix\Main\Context;
// Получаем контекст текущего хита
$context = Application::getInstance()->getContext();
// или
$context = Context::getCurrent();
// get (получить)
// возвращает региональные культурные настройки для контекста
$culture = $context->getCulture(); 
// возвращает объект Request  
$request = $context->getRequest(); 
// возвращает объект Server  
$server = $context->getServer();  
// возвращает объект отклика контекста  
$responce = $contect->getResponce();  
// возвращает ID текущего сайта ("s1")
$siteId = $context->getSite();
// возвращает ID текущего языка ("ru")      
$langId = $context->getLanguage();  
// set (установить)
// устанавливает региональные культурные настройки для контекста
$setCulture = $context->setCulture($culture);  
// устанавливает язык контекста 
$setLang = $context->setLanguage($langId);   
// устанавливает ответ контента
$setResponce = $contect->setResponce($responce); 
// устанавливает сайт для контекста
$setSiteId = $context->setSite($siteId);

REQUEST

Request объект запроса от которого мы получаем данные такие как, протоколы, методы, пути URL, параметры и т.к.

// подключаем приложение для обращения к глобальным сущностям ядра
use \Bitrix\Main\Application,
    \Bitrix\Main\Context,
    \Bitrix\Main\Request;
// получаем контекст текущего хита
$context = Application::getInstance()->getContext();
// получаем объект Request
$request = $context->getRequest();
// или
$request = \Bitrix\Main\Context::getCurrent()->getRequest();
// получение параметра GET или POST
$value = $request->get();
// или
$value = $request["param"];
// параметры запроса
// получение GET-параметра
$value = $request->getQuery();  
// получение списка GET-параметров    
$values = $request->getQueryList();  
// получение POST-параметра
$value = $request->getPost();  
// получение списка POST-параметров     
$values = $request->getPostList();  
// получение загруженного файла 
$value = $request->getFile();  
// получение списка загруженных файлов     
$values = $request->getFileList(); 
// получение значения кука  
$value = $request->getCookie();  
// получение списка кукисов   
$values = $request->getCookieList(); 
// данные о запросе
// получение метода запроса
$method = $request->getRequestMethod(); 
// true - GET-запрос, иначе false
$flag = $request->isGet(); 
// true - POST-запрос, иначе false           
$flag = $request->isPost();  
// true - AJAX-запрос, иначе false         
$flag = $request->isAjaxRequest();   
// true - HTTPS-запрос, иначе false 
$flag = $request->isHttps();          
// данные о запрошенной странице
// true - находимся в админке, иначе false
$flag  = $request->isAdminSection(); 
// запрошенный адрес (напр. "/catalog/category/?param=value")           
$requestUri  = $request->getRequestUri(); 
// запрошенная страница (напр. "/catalog/category/index.php")            
$requestPage = $request->getRequestedPage(); 
// директория запрошенной страницы (напр. "/catalog/category")         
$rDir = $request->getRequestedPageDirectory();

SERVER

Server объект сервера с которого мы получаем данные из массива $_SERVER, такие как заголовки, местоположение, пути скриптов и д.р.

// подключаем приложение для обращения к глобальным сущностям ядра
use \Bitrix\Main\Application,
    \Bitrix\Main\Context,
    \Bitrix\Main\Server;
    // получаем объект Server
$server = $context->getServer();
// или
$server = Context::getCurrent()->getServer();
// DOCUMENT_ROOT
$server->getDocumentRoot(); 
// BX_PERSONAL_ROOT ("/bitrix")
$server->getPersonalRoot(); 
// HTTP_HOST 
$server->getHttpHost();    
// SERVER_NAME  
$server->getServerName();  
// SERVER_ADDR  
$server->getServerAddr();   
// SERVER_PORT 
$server->getServerPort();   
// REQUEST_URI 
$server->getRequestUri();   
// REQUEST_METHOD 
$server->getRequestMethod();
// PHP_SELF 
$server->getPhpSelf(); 
// SCRIPT_NAME    
$server->getScriptName();
// любое значение из $_SERVER   
$server->get('HTTP_ACCEPT');
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг