D7: Объект сервера, работаем правильно с переменными сервера

В новом ядре Битрикс D7, чтобы достучаться до некоторых серверных переменных, нужно использовать специальный класс. Я про такие переменные сервера как IP-адрес, хост, и так далее. Коротенечко пробежимся по классу.
Итак, вызывается переменная так:
?
$context = \Bitrix\Main\Application::getInstance()->getContext();
$server = $context->getServer();
Вот теперь мы можем обращаться к переменным. Перечислю методы, доступные на данный момент:
$server->getDocumentRoot() - док.рут текущий.
$server->getPersonalRoot() - путь Битрикс, по умолчанию равен /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
И есть еще два метода, применение которых на практике я пока не знаю:
?
public function rewriteUri($url, $queryString, $redirectStatus = null)
{
$this->values["REQUEST_URI"] = $url;
$this->values["QUERY_STRING"] = $queryString;
if ($redirectStatus != null)
$this->values["REDIRECT_STATUS"] = $redirectStatus;
}
public function transferUri($url, $queryString = "")
{
$this->values["REAL_FILE_PATH"] = $url;
if ($queryString != "")
{
if (!isset($this->values["QUERY_STRING"]))
$this->values["QUERY_STRING"] = "";
if (isset($this->values["QUERY_STRING"]) && ($this->values["QUERY_STRING"] != ""))
$this->values["QUERY_STRING"] .= "&";
$this->values["QUERY_STRING"] .= $queryString;
}
}
Антон Долганин

D7: Объект сервера, работаем правильно с переменными сервера - 666906382582

Комментарии

Комментариев нет.