호스트 주소는 어떻게 얻을 수 있습니까? 예를 들어, 내 사이트가 여기에 있습니다 : http://example.org/index/news/ 와 나는 단지 http://example.org/을 추출 할.ZF 1.12에서 http 호스트를 얻는 방법
ZF 기능에 대해 묻습니다. 나는 $ _SERVER [ 'HTTP_HOST']에 대해 알고 있지만 나는 원주민 뭔가를 찾고있다. 컨트롤러에서
호스트 주소는 어떻게 얻을 수 있습니까? 예를 들어, 내 사이트가 여기에 있습니다 : http://example.org/index/news/ 와 나는 단지 http://example.org/을 추출 할.ZF 1.12에서 http 호스트를 얻는 방법
ZF 기능에 대해 묻습니다. 나는 $ _SERVER [ 'HTTP_HOST']에 대해 알고 있지만 나는 원주민 뭔가를 찾고있다. 컨트롤러에서
: 당신 example.org
, 당신이 주위에 추가해야 나머지를주지
$this->getRequest()->getServer('HTTP_HOST')
.
허용되는 대답은 완벽하지만, 몇 가지 사항을 염두에 두시기 바랍니다.
$this->getRequest();
정도로
$this->_request
getRequest
방법 좀 더 $_request
노출 이상 수행하고, 컨트롤러가 보호 $_request
속성을 갖기 때문에, necessairy없는 오버 헤드를 의미 기능/방법 호출 인 속성 (공개 메소드) :
public function getRequest()
{
return $this->_request;
}
은 약간 더 성능이 있어야합니다. 당신이 getServer
방법에 대한 소스를 보면 또한 :
public function getServer($key = null, $default = null)
{
if (null === $key) {
return $_SERVER;
}
return (isset($_SERVER[$key])) ? $_SERVER[$key] : $default;
}
정말 문법 설탕 이외의 디폴트 값을 제공하지 않고 방법을 사용하여 아무 문제가 없었다.
가장 빠른 방법은 항상 그러나
$_SERVER['HTTP_HOST'];
, 두 세계의 최고를 결합하는 것, 가장 안전한 (대부분의 ZF와 같은 방법은) 다음과 같습니다
$this->_request->getServer('HTTP_HOST', 'localhost');//default to localhost, or whatever you prefer.
당신이있어 전체 코드를 수에 대한 수 찾고 :
$base = 'http';
if ($this->_request->getServer('HTTPS', 'off') !== 'off')
{
$base .= 's';
}
$base .= '://'.$this->_request->getServer('SERVER_NAME', 'localhost').'/';
어느, 귀하의 경우, http://expample.org/
발생한다.
see here 당신이 얻을 수있는 SERVER 매개 변수의 전체 목록, 의미 및 값은 무엇입니까?