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]