PHP chủ yếu được sử dụng để làm các trang web động, nhưng có nhiều thứ thú vị hơn bạn có thể làm với PHP. Trong tài liệu này, bạn sẽ thấy 9 ví dụ thú vị về cách bạn có thể sử dụng PHP để lập trình bên cạnh việc làm các trang web động. PHP có thể được sử dụng làm nhiều thứ như tạo ứng dụng Real-time, tạo REST và Web Service, Theme Wordpress, Plugin...
PHP Có thể Làm gì? Thứ thú vị làm với PHP PHP chủ yếu sử dụng để làm trang web động, có nhiều thứ thú vị bạn làm với PHP Trong viết này, bạn thấy ví dụ thú vị cách bạn sử dụng PHP để lập trình bên cạnh việc làm trang web động Chắc chắn bạn ngạc nhiên thấy PHP sử dụng làm nhiều thứ hay • Nhân tiện, bạn thật muốn bắt đầu với PHP, Khóa học Lập trình Web với PHP tháng cách giúp bạn nhanh chân Vậy bạn làm với PHP? Hãy tìm hiểu bên Mục lục: Tại nên sử dụng PHP? PHP dùng để làm gì? PHP Xác thực thơng tin người dùng (bao gồm xác minh hai bước) PHP thao tác với CSDL dễ dàng PHP lập trình Backend PHP tạo ứng dụng Real-time PHP tạo Theme Plugin WordPress PHP tạo REST WEB Service Tạo hệ thống chạy ngầm với PHP (PHP Daemon) 10 Tạo hình ảnh với PHP 11 PHP tạo Kịch hệ thống 12 Kết luận Tại nên sử dụng PHP? PHP ngôn ngữ kịch (Scripting Languages) đại sử dụng gần 80% trang web (Số liệu 20/09/2019), tăng từ 72% vào năm 2010 Tỷ lệ ngơn ngữ lập trình dùng cho Server-side (Nguồn W3Tech) Có nhiều lý khác PHP lại trở thành ngôn ngữ lập trình web phổ biến vậy, có lý sau: • PHP dễ học nhiều ngơn ngữ khác • • PHP thích hợp trang web thiên nội dung hỗ trợ liệu từ Backend PHP cung cấp cho bạn công cụ hoàn chỉnh để bạn làm việc Thực tế PHP sử dụng rộng rãi có nghĩa bạn tìm kiếm hướng dẫn học tập, group, diễn đàn thảo luận dễ dàng Vấn đề chống lại PHP hiệu hiệu suất tổng thể nhiều ngôn ngữ khác nhiều trường hợp Chắc chắn, bạn hy vọng PHP có hiệu suất cao C C ++ Tuy nhiên, trừ bạn làm việc hệ thống quan trọng, phức tạp, đồ sộ hệ thống nhúng hiệu suất ưu tiên hàng đầu Còn đa phần trường hợp, hiệu suất PHP đủ Hơn nữa, Ở phiên PHP7, PHP có hiệu suất tốt so sánh với ngôn ngữ tương tự Và thực tế, PHP nhanh 382% so với Python, nhanh 378% so với Perl nhanh 195% so với Ruby (Bạn xem thử nghiệm hiệu suất đây) PHP sử dụng để làm gì? PHP làm gì? PHP làm nhiều loại nhiệm vụ khác Ví dụ: Hãy thử nghĩ bạn cần triển khai HTTP Backend REST Service Trong trường hợp đó, bạn muốn sử dụng ngơn ngữ: • Được hỗ trợ tốt máy chủ web sử dụng nhiều Apache • Tích hợp hoàn hảo với sở liệu SQL MySQL • Có thể xử lý văn bản, chuỗi liệu số dễ dàng Trong trường hợp này, sử dụng PHP hoàn hảo Trên thực tế, PHP thường lựa chọn cho dự án Thử xem biểu đồ sau: Ví dụ ứng dụng đo nhiệt độ PHP Đây đồ thị HTML5 mà tạo nơi làm việc Nó hiển thị nhiệt độ khơng khí 24 qua Bản thân đồ thị tạo với thư viện canvas có tên RGraph, giá trị nhiệt độ thực tế tính tốn, lưu trữ truy xuất PHP Nhưng làm để bạn biết dự án bạn phù hợp với ngôn ngữ PHP? Đơn giản, bạn cần hỏi câu hỏi sau: • Dự án tơi sử dụng mạnh chức PHP? • Tơi chạy dự án từ Web Server với trình thơng dịch PHP Command line khơng? • Dự án có địi hỏi hiệu suất hiệu cao? Nếu bạn trả lời "CÓ" cho hai câu hỏi "KHÔNG" cho câu hỏi cuối cùng, PHP ứng cử viên hàng đầu Bây giờ, lan man đủ Đã đến lúc để xem số ví dụ thực tế bạn làm với PHP, bắt đầu với thứ bạn chắn bạn sử dụng: Xác thực thông tin người dùng PHP Xác thực thơng tin người dùng (bao gồm xác minh hai bước) Xác thực thông tin người dùng tảng bảo mật web Nếu bạn xây dựng trang web có phần tài khoản người dùng, bạn cần triển khai xác thực người dùng Có nhiều kỹ thuật khác mà bạn sử dụng, từ xác thực tên người dùng / mật theo cách đơn giản đến việc xác minh hai bước (hoặc phức tạp hơn) Và đốn xem Với PHP, bạn thực kỹ thuật số Xác thực tên người dùng mật Thực xác thực tên người dùng mật dễ dàng việc so sánh hai chuỗi PHP dễ dàng lưu trữ truy xuất cặp tên người dùng mật sở liệu, sử dụng mã hóa cấp cao mà khơng cần cố gắng nhiều Vậy thực tế việc làm nào? Hãy xem chức đăng nhập add_account sau tôi: /* Xác thực Tên người dùng mật Khẩu */ public function login($name, $password) { /* Kiểm tra độ dài chuỗi */ if ((mb_strlen($name) < 3) || (mb_strlen($name) > 24)) { return TRUE; } if ((mb_strlen($password) < 3) || (mb_strlen($password ) > 24)) { return TRUE; } try { /* Đầu tiên, tìm kiếm username */ $sql = 'SELECT * FROM accounts WHERE (account_name = ?) AND (account_enabled = 1) AND ((account_expiry > NOW ()) OR (account_expiry < ?))'; $st = $this->db->prepare($sql, array(PDO::ATTR_CURS OR => PDO::CURSOR_FWDONLY)); $st->execute(array($name, '2000-01-01')); $res = $st->fetch(PDO::FETCH_ASSOC); /* Nếu username tồn kết nối, tiếp tục kiểm tra password */ if (password_verify($password, $res['account_passwo rd'])) { /* Log in ok, we retrieve the account data */ $this->account_id = $res['account_id']; $this->account_name = $res['account_name']; $this->is_authenticated = TRUE; $this->expiry_date = $res['account_expiry']; $this->session_start_time = time(); /* Bây tạo Cookie gửi đến trì nh duyệt người dùng*/ $this->create_session(); } } catch (PDOException $e) { /* Ngoại lệ (SQL error) */ echo $e->getMessage(); return FALSE; } /* Nếu khơng có ngoại lệ xảy ra, return true */ return TRUE; } /* Thêm tài khoản */ public static function add_account($username, $password, &$db) { /* First we check the strings' length */ if ((mb_strlen($username) < 3) || (mb_strlen($username ) > 24)) { return TRUE; } if ((mb_strlen($password) < 3) || (mb_strlen($password ) > 24)) { return TRUE; } /* Băm mật */ $hash = password_hash($password, PASSWORD_DEFAULT); try { /* Thêm tài khoản Database (Nên kiểm tra t ên người dùng tồn hay chưa) */ $sql = 'INSERT INTO accounts (account_name, account _password, account_enabled, account_expiry) VALUES (?, ?, ?, ?)'; $st = $db->prepare($sql); $st->execute(array($username, $hash, '1', '1999-0101')); } catch (PDOException $e) { /* Ngoại lệ (SQL error) */ echo $e->getMessage(); return FALSE; } } catch (PDOException $e) { /* Nếu có lỗi, ngoại lệ ném */ echo 'PDO exception Error message: "' $e->getMessag e() '" Error code: ' strval($e->getCode()) '.'; die(); } /* Gửi tin nhắn cho người dùng với token */ try { /* Thiết lập người gửi thư */ $PHPMailer->setFrom('noreply@yoursite.com'); /* Đặt email người dùng làm người nhận */ $PHPMailer->addAddress($user_email); /* Thiết lập tiêu đề */ $PHPMailer->Subject = 'Access Token'; /* Thiết lập nội dung tin nhắn */ $PHPMailer->Body = 'Vui lòng sử dụng mã sau để đăng nh ập: ' $token; /* Gửi thư */ $PHPMailer->send(); } catch (Exception $e) { /* PHPMailer exception */ echo $e->errorMessage(); die(); } PHP thao tác với CSDL dễ dàng PHP hỗ trợ sở liệu từ ngày đầu Danh sách hệ thống sở liệu hỗ trợ là: • • • • • • • MySQL PostgreSQL Berkeley DB (Rất phù hợp cho quản trị hệ thống) Oracle Microsoft SQL Server SQLite … Với PHP, bạn sử dụng sở liệu NoQuery MongoDB Cịn bảo mật với PHP sao? Đừng lo lắng vấn đề bảo mật bạn khơng làm ngành tài chính, tiền tệ Với cấp độ thông thường, PHP giúp dễ dàng thực câu lệnh SQL an toàn cách sử dụng câu lệnh escaping prepared Đối với kịch phổ biến sử dụng MySQL tiêu chuẩn, tiện ích mở rộng PDO phù hợp để xây dựng mã SQL an toàn mạnh mẽ Đoạn mã cho bạn thấy cách bạn làm điều với tiện ích mở rộng PDO