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: Объект сервера, работаем правильно с переменными сервера
В новом ядре Битрикс 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;
}
}
Антон Долганин