Blog Posts » PHP » Penerapan PHP callback

Penerapan PHP callback

Berikut ini adalah contoh suatu kasus dimana kita membutuhkan trik callback di PHP.
[Textarea][RAW][Download]

  1. <?php
  2. function input($data) {
  3. return $data;
  4. }
  5. function hasil($input) {
  6. $data = 'Halo Indonesia';
  7. return $input;
  8. }
  9. echo hasil(input($data)); // Notice: Undefined variable: data in...
  10. ?>


Kita tidak akan mendapatkan nilai $data yaitu 'Halo Indonesia' yang ada didalam fungsi hasil(). Karena secara teori fungsi input() harus diletakkan dibawah atau baris setelah $data:
[Textarea][RAW][Download]

  1. ...
  2. function hasil() {
  3. $data = 'Halo Indonesia';
  4. return input($data);
  5. }
  6. echo hasil(); // Halo Indonesia
  7. ?>


Pada kasus tertentu kita tidak ingin memanggil fungsi input() dengan menulisnya langsung didalam fungsi hasil(). Maka solusinya adalah sbb:
[Textarea][RAW][Download]

  1. ...
  2. function hasil($function) {
  3. $data = 'Halo Indonesia';
  4. return $function($data);
  5. }
  6. echo hasil('input'); // Halo Indonesia
  7. ?>


Nah, cara diatas dinamakan dengan callback. Untuk menghindari fungsi yang tidak valid bisa menggunakan function_exists atau method_exists jika bekerja dengan OOP (Object-oriented Programming) di PHP.
[Textarea][RAW][Download]

  1. function hasil($function) {
  2. $data = 'Halo Indonesia';
  3. return function_exists($function) ? $function($data) : $function;
  4. }


Artikel diatas adalah lanjutan dari: Menjalankan Kode PHP Didalam Postingan

(admin)