QR Code - tạo QR Code bằng thư viện endroid/qr-code

QR Code từ lâu đã không còn xa lạ và dần trở thành một thứ thiết yếu với đời sống con người trong thế giới 4.0. Từ việc kết bạn qua mạng xã hội, cho đến thanh toán trực tuyến hay kiểm tra món hàng mình mua có phải là hàng chính hãng hay không. Mọi thứ đã trở nên đơn giản hơn nhờ có QR Code. Do đó ở bài viết này, chúng ta sẽ cùng tìm hiểu về QR Code cũng như cách tạo QR code bằng PHP


1. QR Code là gì?

QR Code (Quick Response Code) là một loại ma trận mã hóa được thiết kế lần đầu tiên vào năm 1994 bởi Denso Wave (một công ty con của Toyota) nhằm phục vụ cho công nghiệp ô tô ở Nhật Bản. Cũng như tên gọi của nó, so với các loại mã vạch truyền thống thì QR Code có thể được đọc nhanh hơn, tiết kiệm thời gian và không gian hơn. Chính vì lý do này mà nó đã dần trở nên phổ biến, vượt ra khỏi ngành công nghiệp sản xuất ô tô, lấn sân vào các ngành sản xuất khác cũng như đời sống thường ngày của con người.

Nếu như mã vạch truyền thống chỉ có thể lưu giữ 20 chữ số thì QR Code có thể chứa được thông tin địa chỉ của một website, địa chỉ email, tin nhắn SMS, nội dung văn bản và thậm chí là vị trí địa lý. Nhờ vậy mà chỉ cần một lần quét, tùy thuộc vào thiết bị đọc mã QR mà bạn dùng, nó sẽ dẫn bạn đến một trang web, gọi đến một số điện thoại hay xem một tin nhắn, thanh toán một món hàng v.v.....

2. Cài đặt endroid/qrcode với composer

Hiện nay, để tự tạo một QR code không phải là việc khó vì đã có nhiều trang web cung cấp sẵn dịch vụ này, chỉ cần vài cú click là bạn đã có một QR code cho riêng mình. Cũng vậy, việc tạo mã QR bằng code thì cũng không quá khó. Để làm được việc đó thì chúng ta sẽ cần thư viện endroid/qr-code cài đặt thông qua Composer:

composer require endroid/qr-code

Có một lưu ý nhỏ là để thư viện này hoạt động được thì php cần có extension libfreetype. Do mình dùng docker để chạy php nên file Docker của mình sẽ cần thêm các đoạn code sau

RUN apt-get install -y libfreetype6-dev;
RUN docker-php-ext-configure gd --with-freetype-dir=/usr;
RUN docker-php-ext-install gd;

3. Tạo QR

Đầu tiên chúng ta sẽ thử tạo một standard QR Code với đoạn code như sau:

Theo đó, QR code sẽ chứa nội dung "https://www.facebook.com/PeterLa95", error correction set ở mức cao  và lưu vào đường dẫn đang được alias là TMP với tên file là "qrcode.png". Kết quả thu được :

4.Style QR Code với Logo và Label

Với đoạn code trên, chúng ta đã có thể tự tạo QR code chia sẽ facebook hay số điện thoại của mình cho crush rồi, nhưng lỡ có quá nhiều QR code thì làm sao để phân biệt và quản lý đây. Hoặc QR Code của bạn vẫn chưa đủ cool ngầu để show cho crush chẳng hạn.

Trong trường hợp đó bạn có thể dùng một phần mềm chỉnh sửa ảnh để thêm logo hoặc label vào QR Code. Nhưng với cách làm đó, QR Code của bạn đôi khi sẽ không đọc được, và có phần hơi phiền phức. Còn với code, chúng ta chỉ cần đôi chút chỉnh sửa  khi mọi thứ đã được thư viện hỗ trợ sẵn.

5. Tạm kết

Như vậy,  với QR code thu được, chúng ta có thể dễ dàng chia sẽ facebook, hay số điện thoại của mình cho crush một cách cool ngầu rồi phải không. Chúc bạn thành công