Добро пожаловать в блог, где важны слова.

Тут я частенько публикую в открытым доступе полезные материаллы и готовые решения для повседневных задач по 1С-Битрикс и Битрикс24, а также затрагиваю темы всё что связано с сайтостроением

Объекты APPLICATION, CONTEXT, REQUEST, SERVER в Битрикс D7

Объекты APPLICATION, CONTEXT, REQUEST, SERVER в Битрикс D7

APPLICATION

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

// Подключаем приложение для обращения к глобальным сущностям ядра
use \Bitrix\Main\Application;

$cache        = Application::getCache();           // возвращает новый экземпляр объекта кеша
$dbConnection = Application::getConnection($name); // возвращает соединение с базой данных указанного имени
// $name - название соединения. Если пустое - то соединение по умолчанию.

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

CONTEXT

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

use \Bitrix\Main\Application;
use \Bitrix\Main\Context;

// Получаем контекст текущего хита
$context = Application::getInstance()->getContext();
// или
$context = Context::getCurrent();

// get
$culture  = $context->getCulture();   //возвращает региональные культурные настройки для контекста
$request  = $context->getRequest();   // возвращает объект Request
$server   = $context->getServer();    // возвращает объект Server
$responce = $contect->getResponce();  // возвращает объект отклика контекста
$siteId   = $context->getSite();      // возвращает ID текущего сайта ("s1")
$langId   = $context->getLanguage();  // возвращает ID текущего языка ("ru")

// 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"];

// параметры запроса
$value  = $request->getQuery();      // получение GET-параметра
$values = $request->getQueryList();  // получение списка GET-параметров
$value  = $request->getPost();       // получение POST-параметра
$values = $request->getPostList();   // получение списка POST-параметров
$value  = $request->getFile();       // получение загруженного файла
$values = $request->getFileList();   // получение списка загруженных файлов
$value  = $request->getCookie();     // получение значения кука
$values = $request->getCookieList(); // получение списка кукисов

// данные о запросе
$method = $request->getRequestMethod(); // получение метода запроса
$flag   = $request->isGet();            // true - GET-запрос, иначе false
$flag   = $request->isPost();           // true - POST-запрос, иначе false
$flag   = $request->isAjaxRequest();    // true - AJAX-запрос, иначе false
$flag   = $request->isHttps();          // true - HTTPS-запрос, иначе false

// данные о запрошенной странице
$flag        = $request->isAdminSection();            // true - находимся в админке, иначе false
$requestUri  = $request->getRequestUri();             // Запрошенный адрес (напр. "/catalog/category/?param=value")
$requestPage = $request->getRequestedPage();          // Запрошенная страница (напр. "/catalog/category/index.php")
$rDir        = $request->getRequestedPageDirectory(); // Директория запрошенной страницы (напр. "/catalog/category")

SERVER

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

use \Bitrix\Main\Application,
    \Bitrix\Main\Context,
    \Bitrix\Main\Server;

$server = $context->getServer();
// или
$server = Context::getCurrent()->getServer();

$server->getDocumentRoot(); // DOCUMENT_ROOT
$server->getPersonalRoot(); // BX_PERSONAL_ROOT ("/bitrix")
$server->getHttpHost();     // HTTP_HOST 
$server->getServerName();   // SERVER_NAME 
$server->getServerAddr();   // SERVER_ADDR 
$server->getServerPort();   // SERVER_PORT 
$server->getRequestUri();   // REQUEST_URI 
$server->getRequestMethod();// REQUEST_METHOD 
$server->getPhpSelf();      // PHP_SELF 
$server->getScriptName();   // SCRIPT_NAME
$server->get('HTTP_ACCEPT');// Любое значение из $_SERVER
Возврат к списку