Biến PHP trong thẻ script

Là một nhà phát triển PHP, việc sử dụng các biến PHP trong các tệp JavaScript là một vấn đề thực sự đối với tôi và sau nhiều lần tìm hiểu và tìm kiếm, tôi đã có câu trả lời từ nhiều năm trước. Vì vậy, tôi sẽ viết bài viết này để bạn có thể tránh việc tìm kiếm dài dòng đó (ít nhất là nếu bạn tìm thấy bài viết này sớm) và biết chính xác cách chèn một biến PHP vào tệp JavaScript của bạn

Có hai cách để sử dụng các biến PHP trong tệp javascript. Vì vậy, chúng ta sẽ đi qua từng cái một

Biến PHP trong thẻ script

Mục lục

1

Phương pháp số 1

Phương pháp đầu tiên sẽ là sử dụng Javascript trong tệp PHP của bạn. Vì vậy, giả sử tôi có một tệp PHP trông như thế này


"en">

  "UTF-8">
  "X-UA-Compatible" content="IE=edge">
  "viewport" content="width=device-width, initial-scale=1.0">
  How to insert a PHP variable in a JavaScript file


  

Hello World

Ví dụ

Vì vậy, những gì bạn có thể làm là bắt đầu một thẻ script ngay trước thẻ body của bạn và sau đó viết mã PHP của bạn vào đó. Ví dụ, tôi muốn viết một mảng tên trong tài liệu. Tôi sẽ tiếp cận các mã dưới đây

Tệp PHP


"en">

    "UTF-8">
    "X-UA-Compatible" content="IE=edge">
    "viewport" content="width=device-width, initial-scale=1.0">
    How to insert a PHP variable in a JavaScript file


    

Hello World

Bằng cách đó, bạn có thể sử dụng các biến PHP trong tệp Javascript của mình

Nhưng nếu bạn không thể viết toàn bộ JavaScript trong tệp PHP của mình thì sao?

Vì vậy, hãy xem phương pháp 2 về cách chèn biến PHP vào tệp JavaScript

Phương pháp #2

Đối với phương pháp này, chúng tôi sẽ không sử dụng toàn bộ javascript trong tệp PHP của bạn nhưng những gì chúng tôi sẽ làm là xác định một biến JS trong tệp PHP của bạn có cùng giá trị với biến PHP và sau đó truy cập biến đó trong tệp Javascript của bạn

Và nó rất đơn giản, hãy xem một ví dụ

Ví dụ

Tệp PHP



"en">



    "UTF-8">

    "X-UA-Compatible" content="IE=edge">

    "viewport" content="width=device-width, initial-scale=1.0">

    How do you insert a PHP variable in a JavaScript file?





    

Hello World

    

Như bạn có thể thấy ở cuối tệp, chúng tôi có một thẻ script và trong thẻ đó, chúng tôi đã xác định biến JS của mình bằng cách sử dụng giá trị của biến PHP

Và sau này chúng ta có thể sử dụng biến JS đó trong tệp JS của mình

Tệp JavaScript

console.log(my_var)

Tôi hy vọng tôi đã có thể giúp bạn với vấn đề của bạn. Nếu bạn vẫn gặp bất kỳ lỗi nào, vui lòng bình luận, tôi sẽ phản hồi sớm nhất có thể và giúp bạn khắc phục lỗi

Ký hiệu "Chấm" có thể được sử dụng để tham chiếu các chế độ xem lồng nhau. Quyền Dưới đây, dữ liệu sẽ hiển thị trên

public function show(Permission $permission)
{
return view('admin.permission.show', compact('permission'));
}
2

public function show(Permission $permission)
{
return view('admin.permission.show', compact('permission'));
}

Đừng mắc lỗi này trong bộ sưu tập Laravel

Tránh sử dụng chức năng trống trong bộ sưu tập Laravel

Blog. thiên tài. io

Truyền một biến PHP cho JavaScript

Nhưng trong một số trường hợp, bạn muốn chuyển một số var phía máy chủ sang JavaScript. Ví dụ: yêu cầu một số giá trị cho phân tích. Chúng ta có thể chuyển các biến bằng cách sử dụng gói Transform PHP Vars to JavaScript. Ngoài ra, chúng tôi có thể làm mà không cần sử dụng gói này

  • 1. Sử dụng kết xuất JSON
  • 2. Sử dụng Chuyển đổi PHP Vars sang gói JavaScript

1. không có gói. Sử dụng kết xuất JSON

Trong Laravel sẽ được dùng để khởi tạo một biến JavaScript

Ví dụ

Bây giờ hãy thêm dữ liệu mảng vào tuyến ứng dụng. Mảng page_data này chúng ta cần sử dụng làm JavaScript

Route::get('/', function () {
return view('welcome', ['page_data' => [
'title' => 'Home',
'price' => 20
]]);
});

Thêm Js bên dưới. từ trong chế độ xem chào mừng

public function show(Permission $permission)
{
return view('admin.permission.show', compact('permission'));
}
3

mở trình duyệt và kiểm tra page_data trong bảng điều khiển

Ngừng sử dụng DateTime trong PHP

Tại sao chúng ta cần sử dụng DateTime không thay đổi trong PHP?

Blog. thiên tài. io

2. Sử dụng Chuyển đổi PHP Vars sang gói JavaScript

Cài đặt gói thông qua Composer

composer require laracasts/utilities

Thêm gói vào nhà cung cấp

public function show(Permission $permission)
{
return view('admin.permission.show', compact('permission'));
}
4

'providers' => [
'...',
Laracasts\Utilities\JavaScript\JavaScriptServiceProvider::class,
];

Tạo HomeController và gọi chế độ xem chào mừng

public function show(Permission $permission)
{
return view('admin.permission.show', compact('permission'));
}
5

namespace App\Http\Controllers;use App\Http\Controllers\Controller;
use JavaScript;
class HomeController extends Controller
{
public function index()
{
JavaScript::put([
'title' => 'Home',
'price' => 20
]);
return view('welcome');
}
}

Ngoài ra, cập nhật các tuyến đường/web. php để gọi HomeController

Route::get('/', [HomeController::class, 'index']);

Theo mặc định, gói này liên kết các biến JavaScript của bạn với chế độ xem "chân trang". Vì vậy, hãy tạo tệp lưỡi cắt chân trang trống và đưa nó vào chế độ xem chào mừng

public function show(Permission $permission)
{
return view('admin.permission.show', compact('permission'));
}
6

Bạn có thể thay đổi chế độ xem chân trang bằng cách xuất bản cấu hình mặc định. Sau đó cập nhật giá trị cấu hình ‘bind_js_vars_to_this_view’ trên tệp

public function show(Permission $permission)
{
return view('admin.permission.show', compact('permission'));
}
7

php artisan vendor:publish --provider="Laracasts\Utilities\JavaScript\JavaScriptServiceProvider"

public function show(Permission $permission)
{
return view('admin.permission.show', compact('permission'));
}
3

public function show(Permission $permission)
{
return view('admin.permission.show', compact('permission'));
}
0

Bây giờ tiêu đề và giá có sẵn trên đối tượng cửa sổ

Phần kết luận

Sử dụng gói Biến đổi PHP Vars thành JavaScript nếu biến PHP được yêu cầu trên JavaScript trên hầu hết các trang. Nếu bạn cần một hoặc hai trang, hãy sử dụng phương thức Laravel

Chúng ta có thể sử dụng PHP bên trong thẻ script không?

It's just a regular HTML .

Tôi có thể sử dụng biến PHP trong JavaScript không?

Sử dụng tiếng vọng . You can use echo to transmit a PHP variable directly to JavaScript when both the PHP and JavaScript code are on the same page.

Làm cách nào để đặt giá trị PHP vào biến JavaScript?

Chúng ta có thể truyền dữ liệu từ PHP sang JavaScript theo hai cách tùy theo tình huống. Đầu tiên, chúng ta có thể truyền dữ liệu bằng cách sử dụng toán tử gán đơn giản nếu chúng ta muốn thực hiện thao tác trên cùng một trang. Khác chúng ta có thể chuyển dữ liệu từ PHP sang JavaScript bằng Cookies. Cookie hoạt động ở phía máy khách.