/ / Codeigniter / Comment (1)

Thư viện User Agent trong codeigniter

User Agent là lớp cung cấp các chức năng giúp xác định thông tin về trình duyệt, điện thoại di động, hoặc một robot thăm trang web của bạn. Ngoài ra bạn có thể nhận được thông tin tham chiếu cũng như ngôn ngữ và thông tin được thiết lập được hỗ trợ.
– Đã bao giờ bạn tự đặt ra câu hỏi là làm thế nào để kiểm tra người dùng đang sử dụng di động hay thông tin trình duyệt hoặc robot đang truy thăm website của chúng ta chưa?nếu bạn sử dụng CodeIgniter thì đó là điều vô cùng đơn giản.Ví dụ thực tế bạn có 1 website sử dụng 2 giao diện khác nhau 1 giao diện phục vụ cho khách hàng sử dụng trên máy tính,1 giao diện chuyên phục vụ cho khách hàng truy cập bằng di động vì vậy chúng ta cần xác định được người sử dụng có phải đang truy cập bằng di động không để load tới giao diện di động.Trên thực tế từ khi giao diện web sử dụng responsive thì truy cập bằng thiết bị nào cũng sẽ ngon phải không nào :D.Thôi không lan man nữa chúng ta sẽ bắt đầu đi tìm hiểu về cách sử dụng thư viện này nhé.

check user agent

check user agent

Thư viện User Agent trong codeigniter

– Cũng như bao thư viện khác để có thể sử dụng ta cần load nó ra:

$this->load->library('user_agent');

để sử dụng được chúng ta sẽ gọi các phương thức của nó thông qua đối tượng $this->agent

Các phương thức trong thư viện User Agent

– Trong CodeIgniter đã có sẵn các định nghĩa cấu hình trong file application/user_agents.php các bạn có thể vào đó để thêm các cấu hình khác.

Kiểm tra trình duyệt

– Cú pháp:

is_browser([$key = NULL]);
  1. Parameters: $key (string) – Tên của trình duyệt
  2. Returns: TRUE nếu tồn tại ngược lại trả về FALSE

– Ví dụ:

if ($this->agent->is_browser('Chrome'))
{
        echo 'You are using Chrome.';
}
elseif ($this->agent->is_browser())
{
        echo 'You are using a browser.';
}

Chú ý: Ví dụ trên thì key “Chrome” chính là key được cấu hình trong file application/user_agents.php

Kiểm tra mobile

– Cú pháp:

is_mobile([$key = NULL]);
  1. Parameters: $key (string) – Tên của mobile (xem trong file cấu hình user_agents.php)
  2. Returns: TRUE nếu tồn tại ngược lại trả về FALSE

– Ví dụ:

if ($this->agent->is_mobile('iphone'))
{
        $this->load->view('iphone/home');
}
elseif ($this->agent->is_mobile())
{
        $this->load->view('mobile/home');
}
else
{
        $this->load->view('web/home');
}

Kiểm tra robot

– Cú pháp:

is_robot([$key = NULL]);
  1. Parameters: $key (string) – Tên của robot (xem trong file cấu hình user_agents.php)
  2. Returns: TRUE nếu tồn tại ngược lại trả về FALSE

– Ví dụ:

if ($this->agent->is_mobile('iphone'))
{
        $this->load->view('iphone/home');
}
elseif ($this->agent->is_mobile())
{
        $this->load->view('mobile/home');
}
else
{
        $this->load->view('web/home');
}

Ví dụ tổng quát:

Chúng ta hãy đi tới ví dụ tổng quát sử dụng các phương thức trong lớp này nhé.

$this->load->library('user_agent');

if ($this->agent->is_browser())
{
        $agent = $this->agent->browser().' '.$this->agent->version();
}
elseif ($this->agent->is_robot())
{
        $agent = $this->agent->robot();
}
elseif ($this->agent->is_mobile())
{
        $agent = $this->agent->mobile();
}
else
{
        $agent = 'Unidentified User Agent';
}
echo $agent;
echo $this->agent->platform(); // Platform info (Windows, Linux, Mac, etc.)

Tổng kết: Đây là một thư viện khá hay và có thể áp dụng nhiều vào công việc thực tế,mong rằng bài viết này sẽ có ích cho các bạn đang cần kiểm tra người dùng truy cập trên web hay trên mobile 😀

Written by Nguyễn Tuấn Vũ

Hocphp.info là website chia sẻ kiến thức lập trình đặt biệt tập trong vào lập trình web. Hi vọng mọi người cùng nhau phát triển và chia sẽ nhiều hơn nữa, ngoài ra mình cũng cố gắng chia sẽ các seri về web cũng như các ngôn ngữ khác chất nhất có thể. có gì thiếu sót hi vọng mọi người bỏ qua.

Bài viết chùng chuyên mục

One comment

  1. php says:
     /  Reply

    bài viết hay,cảm ơn chủ thớt

Gửi bình luận

Giới thiệu

Mình tạo ra blog này với mong muốn chia sẻ và học hỏi kinh nghiệm trong quá trình thiết kế website. Website đang trong quá trình phát triển chân thành cảm ơn mọi sự góp ý của các bạn để làm cho website ngày càng hoàn thiên.

DMCA.com Protection Status
Liên hệ
Theo dõi qua Email

Tổng hợp các bài viết về

Hoc php - CodeIgniter Framework - Laravel Framework - PHP va MYSQL