2016-10-03 16 views
6

ile nasıl edinirsiniz? Alt etki alanı da dahil olmak üzere Laravel 5 kullanan bir HTTP isteğinden ana bilgisayar adını almaya çalışıyorum (ör. dev.site.com). Bu konuda hiçbir şey bulamadım the docs, ama bu oldukça basit olmalı. Bunu nasıl yapacağını bilen var mı?HTTP ana bilgisayarını Laravel 5

cevap

19

İyi haber! İstek belgeleri biraz eksik (istediğim yöntem Symfony's Request class'dan devralınmıştır), ancak bunun aslında oldukça kolay olduğu ortaya çıkıyor. Bir denetleyici yöntemindeyseniz, getHttpHost yöntemine sahip istek nesnesini enjekte edebilirsiniz. Bu benim aradığım tam olarak ne sağlar:

public function anyMyRoute(Request $request) { 
    $host = $request->getHttpHost(); // returns dev.site.com 
} 

başka bir yerde kodunuzda itibaren, yine request helper function kullanarak istek nesneye erişebilen, bu nedenle bu görünecektir gibi:

$host = request()->getHttpHost(); // returns dev.site.com 

İsterseniz URL http/https kısmını kapsayacak şekilde, sadece yerine getSchemeAndHttpHost yöntemi kullanabilirsiniz:

$host = $request->getSchemeAndHttpHost(); // returns https://dev.site.com 

bulmak kaynak üzerinden kazma biraz aldı Bu yüzden umarım yardımcı olur!

+5

'İstek :: getHttpHost()' da çalışır –

0

Orada iki yol, bu yüzden dikkatli olun: Sen de tamamladıktan request()->headers();

dökümü request()->url();

kullanmak Ve bu veri sizin için yararlı olup olmadığını görebilirsiniz

<?php 

    $host = request()->getHttpHost(); // With port if there is. Eg: mydomain.com:81 

    $host = request()->getHost(); // Only hostname Eg: mydomain.com 
0

.