function_exists
funkcja
Sprawdza, czy dana funkcja jest dostępna — wbudowana w PHP lub zdefiniowana przez użytkownika. Przydatna przy detekcji rozszerzeń.
function_exists(string $function): bool
function_exists zwraca true, jeśli funkcja o podanej nazwie jest dostępna w bieżącym kontekście — zarówno wbudowana (np. array_map, json_encode), jak i zdefiniowana przez twój kod. Funkcja jest szczególnie użyteczna przy sprawdzaniu, czy zainstalowane jest opcjonalne rozszerzenie PHP (np. imagecreate z GD, curl_init z cURL) lub czy istnieje polyfill. Metody klas i funkcje anonimowe nie są przez nią wykrywane — do metod użyj method_exists.
<?php
declare(strict_types=1);
// Sprawdzenie wbudowanej funkcji:
var_dump(function_exists('array_map')); // bool(true)
var_dump(function_exists('json_encode')); // bool(true)
var_dump(function_exists('brakFunkcji')); // bool(false)
// Detekcja opcjonalnego rozszerzenia cURL:
if (!function_exists('curl_init')) {
throw new \RuntimeException('Rozszerzenie cURL jest wymagane.');
}
// Własna funkcja pomocnicza:
function formatujCene(float $cena): string
{
return number_format($cena, 2, ',', ' ') . ' zł';
}
var_dump(function_exists('formatujCene')); // bool(true)