Memanggil Fungsi PHP Dari Javascript – Dibandingkan dengan JavaScript, PHP memiliki lebih banyak fungsi bawaan untuk menangani string, array, dan jenis data lainnya. Oleh karena itu, banyak orang secara alami merasakan keinginan untuk memanggil fungsi PHP dari javascriptoo. Namun, seperti yang Anda duga atau temukan, ini tidak berfungsi seperti yang diharapkan.

Memanggil Fungsi PHP Dari Javascript
Source : malasngoding.com

Dalam banyak situasi lain, Anda mungkin ingin menjalankan beberapa kode PHP di JavaScript-misalnya, untuk menyimpan beberapa data di server. Dalam kasus ini, hanya memasukkan kode PHP ke JavaScript tidak akan berhasil.

Alasan mengapa Anda tidak bisa begitu saja memanggil fungsi PHP dari JavaScript terkait dengan urutan di mana bahasa ini dijalankan. PHP adalah bahasa sisi server, dan JavaScript terutama adalah bahasa sisi klien.

Kapanpun Anda ingin mengunjungi suatu halaman, browser akan mengirimkan permintaan ke server, kemudian server akan memproses permintaan tersebut dan menghasilkan beberapa keluaran dengan menjalankan kode PHP. Kemudian kirimkan hasil atau halaman web yang dihasilkan kembali kepada Anda. Browser biasanya mengharapkan halaman web berisi HTML, CSS, dan JavaScript. Saat halaman web dimuat ke browser, PHP apa pun yang mungkin Anda tempatkan atau gema di JavaScript sudah berjalan atau tidak berjalan sama sekali.

Namun, semua harapan belum hilang. Dalam tutorial ini, saya akan menjelaskan cara memanggil fungsi PHP dari JavaScript dan memanggil fungsi JavaScript dari PHP.

Memanggil Fungsi PHP Dari JavaScript

Kita dapat menggunakan AJAX untuk memanggil fungsi PHP pada data yang dihasilkan di dalam browser. Banyak situs web menggunakan AJAX untuk memperbarui sebagian halaman tanpa memuat ulang seluruh halaman. Setelah operasi selesai dengan benar, pengalaman pengguna dapat ditingkatkan secara signifikan.

Ingatlah bahwa kode PHP akan tetap berjalan di server itu sendiri. Kami hanya akan menyediakannya dengan data dari skrip.

Baca Juga : 12 Alasan Laravel Adalah Framework PHP Terbaik

Jalankan Kode PHP Menggunakan Jquery AJAX

Jika Anda menggunakan jQuery di situs web Anda, akan sangat mudah untuk memanggil file PHP apa pun dengan kode yang ingin Anda jalankan.

Anda bisa meneruskan satu atau dua parameter ke fungsi ajax(). Setelah melewati dua parameter, yang pertama adalah URL halaman web yang akan dikirimi permintaan oleh browser. Jika Anda hanya mengirimkan satu parameter ke ajax() URL akan ditentukan dalam konfigurasi.

Parameter kedua berisi banyak opsi konfigurasi yang berbeda untuk menentukan data yang akan diproses dan metode pemrosesan jika berhasil atau gagal. Opsi konfigurasi diteruskan dalam format JSON.

Anda dapat menggunakan parameter method untuk menentukan metode HTTP yang harus digunakan untuk membuat permintaan. Kami mengaturnya ke POST karena kami juga akan mengirim data ke server.

Sekarang, mari kita lihat contoh permintaan AJAX dasar. Dalam contoh ini, kita akan meneruskan data ke file PHP dan memanggil fungsi PHP wordwrap() di file tersebut. Ini adalah halaman web lengkap kami:

<!doctype html>
<html lang=en>
<head>
<meta charset=utf-8>
<title>PHP Function in JavaScript Demo</title>
<style>
body {
    font-family: 'Lato';
    font-weight: 400;
    font-size: 1.4rem;
}
p {
    text-align: center;
    margin-bottom: 4rem;
}
</style>
</head>
<body>
<p class="unbroken">Amerika Serikat (AS atau AS) - secara resmi Amerika Serikat (AS), umumnya dikenal sebagai Amerika Serikat - adalah negara yang sebagian besar terletak di Amerika Utara, terdiri dari 50 negara bagian, satu distrik federal, lima wilayah otonom utama, dan 326 negara dicadangkan dan masing-masing jenis properti. Dengan luas 3,8 juta mil persegi (9,8 juta kilometer persegi), itu adalah negara terbesar ketiga atau keempat di dunia. Dengan populasi lebih dari 328 juta, ini adalah negara terpadat ketiga di dunia. Ibukota negara adalah Washington, DC, dan kota terpadat adalah New York.</p>
<p class="broken"></p>
<script>
$.ajax({
  method: "POST",
  url: "wrap.php",
  data: { text: $("p.unbroken").text() }
})
  .done(function( response ) {
    $("p.broken").html(response);
  });
</script>
</body>
</html>

Letakkan kode berikut di file wrap.php di direktori yang sama.

<?php
$text = $_POST['text'];
$output = wordwrap($text, 60, "<br>");
echo $output;
?>

Ingat, Anda harus menggemakan data yang ingin Anda kirim kembali ke browser. Jika semuanya berjalan lancar, halaman web Anda akan terlihat seperti gambar di bawah ini.

Source : code.tutsplus.com

Jalankan kode PHP menggunakan Fetch API

Anda juga dapat menggunakan Fetch API untuk menjalankan kode PHP pada data yang dikumpulkan di dalam browser dengan mengirimkan permintaan POST ke server. Pada contoh sebelumnya, kita dapat mengganti kode AJAX dengan JavaScript berikut untuk mendapatkan hasil yang sama.

fetch('wrap.php', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
    },
    body: "text=" + document.querySelector("p.unbroken").innerText
  })
  .then(response => response.text())
  .then(data => document.querySelector("p.broken").innerHTML = data);

Sama seperti pada contoh AJAX, kami menentukan URL dan memberikan informasi header tambahan yang akan mengirimkan data dalam bentuk yang dikodekan URL. Ini memungkinkan kita menggunakan $ _POST untuk membaca data di sisi server.

Panggil Fungsi Javascript Dari PHP

Seperti yang Anda ketahui sekarang, ketika Anda meminta halaman web dari server tertentu, PHP akan berjalan sebelum JavaScript. Kami juga dapat menggunakan echo untuk menampilkan konten apa pun yang ingin kami tampilkan di halaman web. echo yang sama dapat digunakan untuk mengeluarkan JavaScript yang akan dijalankan di browser klien.

Baca Juga : Mengenal Node.js Dan Tujuan Utama Menggunakannya

Ini adalah beberapa contoh kode yang akan memeriksa larik string untuk menemukan indeks palindrome terakhir. Indeks disimpan dalam variabel PHP dan kemudian diteruskan ke JavaScript yang ditulis dalam tag script menggunakan echo.

<?php
$words = ['apple', 'radar', 'mango', 'civic', 'banana'];
$pal_index = 0;
$last_pal = 0;
foreach($words as $word) {
  if($word == strrev($word)) {
    $last_pal = $pal_index;
  }
  echo '<p>'.ucfirst($word).'</p>';
  $pal_index += 1;
}
?>
<script>
<?php
echo 'let p_el = documents.querySelectorAll("p")['.$last_pal.']';
?>
let red = Math.round(p_el.getBoundingClientRect().top)%256;
let green = Math.round(p_el.getBoundingClientRect().right)%256;
p_el.style.color =  "rgb(" + red + ", " + green + ", 0)";
</script>

Contoh di atas menunjukkan cara meneruskan data dari PHP ke JavaScript hanya dengan menggemakannya kembali. Pastikan bahwa kode yang Anda gema adalah JavaScript yang valid.

Kesimpulannya

Kita semua tahu bahwa PHP berjalan di server, dan JavaScript biasanya berjalan di browser. Karena semuanya dijalankan pada waktu yang berbeda, Anda tidak bisa begitu saja memanggil fungsi dari bahasa lain dan mengharapkan kodenya untuk bekerja. Namun demikian, ada beberapa cara untuk mengatasi masalah tersebut agar informasi dapat dipertukarkan antara PHP dan JavaScript.

Baca Juga : 20 Template Website Responsive Gratis

Secara keseluruhan, ketika Anda ingin memanggil fungsi PHP dari JavaScript atau menjalankan kode PHP pada beberapa data yang dihasilkan di dalam browser, Anda dapat menggunakan AJAX. Anda dapat menggunakan echo dalam PHP untuk mengeluarkan kode JavaScript, yang nantinya akan dijalankan di browser klien. Jika Anda memiliki pertanyaan tentang artikel tersebut, beri tahu saya di komentar.