2015-07-07 2 views
2

мне нужно получить запрашивающий имя браузеров в моем веб-приложение. (Для аналитики)Как получить имя браузера в запросе cakephp 3?

В основной PHP, когда я использую $visitor_user_agent=$_SERVER['HTTP_USER_AGENT'] возвращает Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36 строку при использовании с chrome.And затем preg_match('/Chrome/i', $visitor_user_agent) может быть использован, чтобы знать, если его хром или not.I не уверен, что это был эффективный способ найти имя браузера или нет.

Я также нашел ссылку get_browser, но не указал имя браузера.

Есть ли способ в cakephp3 или core php для получения имени браузера?

ответ

2

Посмотрите на documentation из Request объекта.

Вы можете получить HTTP_USER_AGENT используя env() метод:

$this->request->env('HTTP_USER_AGENT'); 

Вы также можете подготовить собственный детектор:

$this->request->addDetector(
    'chrome', 
    ['env' => 'HTTP_USER_AGENT', 'pattern' => '/Chrome/i'] 
); 

, а затем в контроллер просто использовать is() метод следующим образом:

if($this->request->is('chrome')) { 
    // do stuff for chrome 
} 
+0

Итак, в основном логика такая же, как я объяснял выше в основном php, но это торт php3 способ реализации. – Dashrath

Смежные вопросы