• Tidak ada hasil yang ditemukan

Tìm hiểu về một số kỹ thuật lập trình thời gian thực bằng ngôn ngữ lập trình PHP

Protected

Academic year: 2023

Membagikan "Tìm hiểu về một số kỹ thuật lập trình thời gian thực bằng ngôn ngữ lập trình PHP"

Copied!
66
0
0

Teks penuh

TÌM HIỂU VỀ MỘT SỐ KỸ THUẬT LẬP TRÌNH THỜI GIAN THỰC SỬ DỤNG NGÔN NGỮ LẬP TRÌNH. Tên chủ đề: Tìm hiểu một số kỹ thuật lập trình thời gian thực sử dụng ngôn ngữ lập trình PHP. Nội dung giảng dạy: Tìm hiểu một số kỹ thuật lập trình thời gian thực sử dụng ngôn ngữ lập trình PHP.

TỔNG QUAN VỀ PHP

Lịch sử phát triển

  • PHP
  • PHP3
  • PHP4
  • PHP5
  • PHP6
  • PHP7

Mặc dù đây được xem là phiên bản production đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi, chủ yếu là lỗi xác thực HTTP. Phiên bản tiếp theo của PHP hiện đang được phát triển, bạn có thể tải xuống phiên bản dùng thử của PHP 6 tại http://snaps.php.net. Khi PHP 5 được phát hành vào năm 2004, không có bản nâng cấp lớn nào cho PHP từ đó đến năm 2015, chủ yếu là sửa lỗi, cải thiện hiệu suất và một số tính năng mới như lập trình hướng đối tượng.

Cấu trúc cơ bản của PHP

  • Các cấu trúc cơ bản
  • Xuất giá trị ra trình duyệt
  • Biến, hằng, chuỗi và các kiểu dữ liệu
    • Biến
    • Hằng
    • Chuỗi
    • Kiểu dữ liệu
  • Các phương thức được sử dụng trong lập trình PHP
    • Phương thức GET
  • Cookie và Session trong PHP
    • Cookie
    • Session
  • Cookie và Session trong PHP
    • Hàm tự định nghĩa
    • Hàm tự định nghĩa với các tham số
    • Hàm tự định nghĩa với giá trị trả về
    • Gọi lại hàm

Chúng ta có thể sử dụng hàm GETTYPE() tích hợp của PHP4 để kiểm tra loại của bất kỳ biến nào. Cookie là một phần dữ liệu được ghi vào ổ cứng hoặc bộ nhớ máy tính của người dùng. Với Name chúng ta sử dụng hàm session_register("name") để khai báo.

Hình 6. Hàm GETTYPE
Hình 6. Hàm GETTYPE

Một số kỹ thuật lập trình thời gian thực trong PHP

Cài đặt thư viện jQuery

Gọi hàm jQuery

  • Class
  • HTML, Text

Chọn tất cả các thẻ lẻ Ngoài ra còn có nhiều bộ chọn khác. Loại bỏ tất cả hoặc các lớp được chỉ định khỏi phần tử phù hợp. Thêm lớp nếu lớp đó không tồn tại hoặc xóa nếu lớp đã tồn tại.

Ví dụ: Thêm lớp “styleText” vào thẻ p nếu lớp “styleText” không tồn tại trong thẻ p hoặc xóa lớp “styleText” khỏi thẻ p nếu nó tồn tại. Ví dụ: mỗi khi bạn nhấp vào thẻ p, bạn truy xuất nội dung HTML của thẻ p đó và báo cáo nội dung được truy xuất. Ví dụ: mỗi lần click vào một thẻ p, bạn sẽ lấy được nội dung văn bản của thẻ p đó và báo cáo nội dung truy xuất được.

JQuery Events

  • Cách viết các phương thức xử lý sự kiện và các sự kiện phổ biến

Trong khi đó, $(document).ready() sẽ được thực thi ngay khi các phần tử DOM sẵn sàng mà không cần đợi các tài liệu như biểu định kiểu hoặc hình ảnh tải xong. Phương thức click() gắn hàm xử lý sự kiện vào phần tử HTML. Hàm sẽ được thực thi khi người dùng nhấp đúp vào phần tử HMTL.

Phương thức dblclick() gắn một trình xử lý sự kiện vào một phần tử HTML. Hàm sẽ được thực thi khi người dùng nhấp vào phần tử HMTL. Hàm sẽ được thực thi khi người dùng di chuột qua phần tử HMTL.

Hàm sẽ được thực thi khi người dùng di chuyển con trỏ chuột ra khỏi một phần tử trong HMTL. Hàm sẽ được thực thi khi nhấp chuột trái vào phần tử HTML. Sự kiện xảy ra khi chúng ta tập trung vào một phần tử (con trỏ trong hộp văn bản, nút viền, radio, hộp kiểm...).

Ngoài ra còn có nhiều chức năng khác có thể sử dụng vào những mục đích khác nhau tùy vào từng trường hợp cụ thể.

JQUERY EFFECTS

  • Hide/Show
    • hide() and show()
    • toggle()
  • Animate
  • Stop

Nó giúp chúng ta ẩn các bộ chọn hiện đang hiển thị và hiển thị lại các bộ chọn bị ẩn. Cú pháp: Về cơ bản, phương thức này có cú pháp tương tự như Hide() và show(). Chúng ta cũng có thể thêm một số tham số để điều chỉnh tốc độ ẩn hoặc hiển thị các thành phần và giá trị của chúng có thể là "chậm", "nhanh" hoặc mili giây.

Đồng thời, bạn cũng có thể thêm một hành động để thực hiện sau khi hoàn thành việc chuyển đổi(). Ví dụ: Sau khi ẩn/hiện thẻ p sẽ xuất hiện thông báo “OK”. lt;button>Chuyển đổi. lt;p>Đây là một đoạn văn có ít nội dung.

Đây là một đoạn văn nhỏ khác.

. jQuery cung cấp một phương thức giúp chúng ta tạo hiệu ứng cho các phần tử như tăng kích thước và dịch chuyển vị trí bằng cách định dạng các thuộc tính CSS bổ sung. selector).animate({params},speed,callback);. Phương pháp này cho phép chúng ta thêm một hoặc nhiều thuộc tính CSS, giúp tạo thêm các hiệu ứng theo ý muốn.

Để thao tác vị trí, trước tiên hãy nhớ đặt thuộc tính vị trí CSS của phần tử thành tương đối, cố định hoặc tuyệt đối!

. Khi phương thức này được gọi, các hiệu ứng đang diễn ra sẽ bị dừng lại. Giả sử nếu một phần tử bị ẩn bởi phương thức slideUp() thì khi phương thức stop() được gọi, phần tử đó vẫn hiển thị nhưng chiều cao sẽ bị giảm.

Để tạo hiệu ứng, jQuery cũng cung cấp thêm nhiều phương thức bổ sung, chúng ta có thể tìm hiểu thêm về các phương thức này trên trang chủ jQuery.

  • jQueryGet
    • Lấy ra nội dung
    • Lấy ra thuộc tính
  • jQuery Set
  • jQuery giúp người dùng thao tác với các thành phần của HTML
  • jQuery giúp người dùng có thể thao tác, tác động tới CSS

Ngoài ra chúng ta cũng có thể sử dụng thêm chức năng để phù hợp với mục đích sử dụng.

  • Giới thiệu
  • Các phương thức jQuery Ajax
    • jQuery load()
    • jQuery get() và jQuery post()

URL: chỉ định vị trí đường dẫn của đối tượng cần tải dữ liệu: dữ liệu được gửi cùng với yêu cầu.

Pusher

  • Pusher là gì?
  • Quy trình hoạt động của pusher

Client duyệt web-> dữ liệu sẽ được gửi về server -> server chuyển tiếp tới Pusher thông qua pusher API -> Pusher trả kết quả về client (hoặc client khác).

Hình 8. Quy trình hoạt động của pusher
Hình 8. Quy trình hoạt động của pusher

Socket.io

  • Socket.io là gì?
  • Cài đặt Socket.io
    • Socket.io trên server
    • Socket.io trên client
  • Cấu trúc ứng dụng realtime sử dụng socket

Vì vậy, sau lần sử dụng HTTP đầu tiên, Ổ cắm có thể giao tiếp với ít tài nguyên hơn nhiều. Mặc dù Socket.io thực sự sử dụng WebSocket như một cách để giao tiếp trong một số trường hợp, nhưng Socket.io sẽ thêm một số siêu dữ liệu vào mỗi gói: loại gói, không gian tên và ID gói khi cần xác nhận. Đó là lý do tại sao máy khách WebSocket không thể kết nối với máy chủ Socket.io và máy khách Socket.io cũng không thể kết nối với máy chủ WebSocket.

Để cài đặt Socket.io trong dự án của bạn, bạn cần cài đặt nó ở hai phía: máy chủ và máy khách. Socket.io sẽ đảm nhiệm việc kết nối giữa 2 bên, thông thường API của 2 bên sẽ tương tự nhau. Đối với máy chủ Node.js, chúng ta chỉ cần sử dụng npm để cài đặt gói có tên socket.io, truy cập vào thư mục dự án và mở terminal.

Theo mặc định, bản dựng độc lập với máy khách được máy chủ hiển thị tại /socket.io/socket.io.js. Cấu trúc của một ứng dụng thời gian thực sử dụng socket bao gồm 2 phần: phía máy chủ, phía máy khách. Ở đây, nếu có thể, nên sử dụng nodejs để xây dựng máy chủ, vì bằng cách này bạn có thể cài đặt socketio trực tiếp trên cùng một máy chủ.

Nếu dùng php thì cần cài thêm gói khác, hoặc chuẩn bị server riêng để chạy socketio.

Một số ứng dụng thời gian thực trong PHP

Ứng dụng sử dụng jQuery

  • Xây dựng csdl cho ứng dụng
  • Ứng dụng Chat Ajax - Đăng ký - đăng nhập - đăng xuất
    • Thiếu kế menu
  • Gửi tin nhắn
    • Viết Ajax
    • Viết PHP để xử lý dữ liệu
  • Thiết lập thời gian thực

Trường id_user chứa ID người dùng, được tăng tự động. TẠO BẢNG `messages` ( `id_msg` int(11) NOT NULL, `body` longtext NOT NULL, `user_from` text NOT NULL, `date_sent` datetime NOT NULL. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;. Ngược lại, nếu người gửi không phải là $user, thông báo màu xám sẽ được hiển thị.

Hình 10. Table messages
Hình 10. Table messages

Ứng dụng sử dụng pusher

  • Tạo app Api
  • Đưa dữ liệu lên app api
  • Lấy dữ liệu từ api

Khi cuộn xuống, bạn sẽ thấy thông tin app_id, app_secret, app_key và cluster. Thông báo được gửi. Khi chúng ta nhấn OK sẽ có thông báo gửi ngay tới thiết bị.

Hình 13. Quản lý App
Hình 13. Quản lý App

Ứng dụng sử dụng socket.io

  • Cài đặt socket.io
  • Xây dựng ứng dụng dù socket.io

Tạo sự kiện gọi là tin nhắn trò chuyện khi người dùng nhấp vào nút Gửi và ghi lại sự kiện được máy chủ trả về. Dự án đã học được kiến ​​thức cơ bản và chuyên sâu về một số kỹ thuật lập trình thời gian thực và PHP. PHP hiện là ngôn ngữ lập trình web phổ biến nhất và được sử dụng trên nhiều website quản lý, các cổng tin tức, thông tin điện tử.

Sự kết hợp giữa kỹ thuật lập trình thời gian thực và PHP được sử dụng trong nhiều ứng dụng hiện nay bởi chúng không chỉ tạo sự thuận tiện cho người dùng mà còn cải thiện tốc độ xử lý của trang web, từ đó tăng trải nghiệm người dùng và hiệu suất hệ thống. Đồng thời, trong quá trình thực hiện đồ án, tôi đã học được thêm những kiến ​​thức thực tế và học cách áp dụng những kiến ​​thức đã học để giải quyết một vấn đề nhất định. Tuy nhiên, kết quả đạt được vẫn còn rất hạn chế và cần rất nhiều sự hỗ trợ từ phía thầy cô.

Để có thể làm tốt việc vận dụng lý thuyết vào thực hành và có những kỹ năng nhất định, tôi nghĩ mình cần phải luyện tập nhiều hơn. Hướng phát triển tương lai của dự án sẽ tiếp tục đi sâu hơn vào các kỹ thuật lập trình thời gian thực trong PHP, kết hợp với thao tác trên các hệ thống cơ sở dữ liệu như MySQL và SQLServer; Tìm hiểu thêm về cách kết hợp PHP với các kỹ thuật lập trình thời gian thực khác như Slanger, pushcrew, ReactJs,.

Hình 15. Ứng dụng chát Socket
Hình 15. Ứng dụng chát Socket

Gambar

Hình 6. Hàm GETTYPE
Hình 8. Quy trình hoạt động của pusher
Hình 10. Table messages
Hình 11. Giao diện ứng dụng
+5

Referensi

Garis besar

Dokumen terkait

Khi các câu trong đoạn văn cùng nói về một người, một vật, một việc, ta có thể dùng đại từ hoặc những từ ngữ đồng nghĩa thay thế cho những từ ngữ đã dùng ở câu đứng trước để tạo mối

Có thể thay từ công dâncông dân trong câu nói dưới trong câu nói dưới đây của nhân vật Thành Người công dân số Một đây của nhân vật Thành Người công dân số Một bằng các từ đồng