Bạn có thể viết JavaScript bằng PHP không?

Để bắt đầu, bạn không thể. Ít nhất là không trừ khi bạn có tiện ích mở rộng V8js, cho phép công cụ kết xuất JavaScript v8 của Google, được cài đặt và định cấu hình trên máy chủ của bạn

Tuy nhiên, trước khi bạn nhấp chuột và bắt đầu đọc về nó, có một điều bạn cần biết về V8js. chín lần trong số mười, bạn không thực sự cần nó. Nghe có vẻ khó hiểu, tôi biết. Cho phép tôi giải thích 🙂

Tại sao bạn không thể gọi JavaScript từ PHP

Bạn thấy đấy, PHP là ngôn ngữ lập trình phía máy chủ. Điều này có nghĩa là mã ứng dụng PHP của bạn và tất cả logic đi kèm với nó sẽ chạy trong máy chủ

Mặt khác, JavaScript là ngôn ngữ lập trình phía máy khách. Nói cách khác, mã của ứng dụng JavaScript chạy trong ứng dụng khách, một. k. a. trình duyệt của người dùng của bạn

(Nếu bạn muốn tìm hiểu thêm, hãy tham khảo bài viết này tại CloudFlare. )

Cả hai có thể cùng tồn tại. Ví dụ: hầu hết các trang web trên Internet đều được cung cấp bởi WordPress, một hệ thống quản lý nội dung được viết bằng PHP. Tuy nhiên, các trang web này được tạo kiểu theo chủ đề WordPress, cũng có tính năng JavaScript

Một phần công việc hiển thị trang web WordPress diễn ra trên máy chủ (phần PHP) và phần khác diễn ra trong trình duyệt của người dùng (phần JavaScript)

Đối với PHP, mã nguồn JavaScript chỉ là một loạt các ký hiệu có thể được xuất ra một tệp

Nói một cách đơn giản, “nó không nói được ngôn ngữ. ” Vì vậy, bạn không thể gọi một hàm JavaScript từ PHP per se. Thay vào đó, những gì bạn có thể muốn làm là xuất nó ra giao diện người dùng để nó chạy trong trình duyệt của người dùng

Thay vào đó bạn có thể muốn làm gì

Tôi đã viết "có lẽ" trong tiêu đề bởi vì luôn luôn - và ý tôi là luôn luôn - một ngoại lệ. Những gì tôi sắp đề xuất sẽ hiệu quả với 99% những người sẽ đọc bài viết này. Chưa hết, sẽ có 1% trở lên các bạn muốn làm gì đó cầu kỳ hơn

Giả sử bạn đang phát triển một ứng dụng PHP và bạn muốn gọi một hàm JavaScript. Những gì bạn muốn làm trong trường hợp như vậy là lặp lại chức năng trong mã PHP của bạn, để nó là một phần của đầu ra cho giao diện người dùng và nó chạy trong trình duyệt của người dùng

(Nếu bạn đang thắc mắc tại sao tôi lại đề xuất tiếng vang chứ không phải bản in, hãy xem bài viết này tại W3Schools. )

Để đạt được điều này, bạn cần viết một câu lệnh echo với ba bước sau

  • Định nghĩa hàm JavaScript
  • Gọi hàm JavaScript
  • Kết thúc tất cả trong một " ?>

    You’re wrapping the function in a

Gọi một hàm đã được xác định

Giả sử chức năng của bạn đã được xác định trong mã của bạn và tất cả những gì bạn cần làm là gọi nó

Có phải chúng ta đang xây dựng chỉ số. php cho một trang web rất đơn giản, trong đó được xuất ra một cách linh hoạt và có một // Call the JavaScript function functionName(params);" ?>

Những gì chúng tôi đã làm là lấy mã JavaScript từ phần đầu tiên của bài đăng này và chia nó thành hai phần. một định nghĩa trong tài liệu HTML của và một cuộc gọi trong

Quan trọng. Để phương pháp này hoạt động, bạn phải luôn—không có ngoại lệ—gọi hàm JavaScript sau khi nó đã được xác định. Nếu không, bạn sẽ gặp lỗi “chức năng chưa được xác định” trong trình duyệt khi trình thông dịch JavaScript cố chạy một chức năng mà nó chưa thấy định nghĩa

Vì vậy, nếu bạn cố gắng làm điều này (chú ý rằng cuộc gọi xuất hiện trên dòng 8 và định nghĩa không xuất hiện cho đến dòng 11)




  
  

  // Call the JavaScript function
  functionName(params);" ?>

  // Define the JavaScript function
  


  

Nó sẽ không hoạt động

Tóm lại là

Bạn không thể gọi hàm JavaScript từ PHP, nhưng bạn có thể xuất lệnh gọi hàm JavaScript từ mã nguồn PHP của mình. Sau đó, trình duyệt của người dùng sẽ lo phần còn lại

Nếu hàm JavaScript mà bạn muốn gọi đã được xác định, hãy đảm bảo mã cho lệnh gọi xuất hiện bên dưới mã cho định nghĩa. Nếu không, bạn sẽ nhận lại lỗi “chức năng không được xác định”