Definisi dan Penggunaan
Kata kunci callable
digunakan untuk memaksa argumen fungsi menjadi referensi ke suatu fungsi.
Callable dapat berupa salah satu dari berikut ini:
- Fungsi anonim
- Sebuah string yang berisi nama suatu fungsi
- Array yang mendeskripsikan metode kelas statis
- Array yang mendeskripsikan metode objek
Contoh
Gunakan callable untuk meminta fungsi callback sebagai argumen:
<?php function printFormatted(callable $format, $str) { echo $format($str); echo "<br>"; } function exclaim($str) { return $str . "!"; } printFormatted("exclaim", "Hello World"); ?> // Output : Hello World!
Contoh Lain
Contoh
Menggunakan berbagai jenis callable:
<?php function printFormatted(callable $format, $str) { echo $format($str); echo "<br>"; } class MyClass { public static function ask($str) { return $str . "?"; } public function brackets($str) { return "[$str]"; } } // Fungsi anonim $func = function($str) { return substr($str, 0, 5); }; printFormatted($func , "Hello World"); // Sebuah string yang berisi nama suatu fungsi printFormatted("strtoupper", "Hello World"); // Array yang mendeskripsikan metode kelas statis printFormatted(["MyClass", "ask"], "Hello World"); // Array yang mendeskripsikan metode objek $obj = new MyClass(); printFormatted([$obj, "brackets"], "Hello World"); ?> /* Output : Hello HELLO WORLD Hello World? [Hello World]